Firefox页面刷新时忘记了动态类

时间:2012-05-25 14:05:54

标签: jquery css firefox

我写了一些jQuery,一旦用户在页面上滚动子菜单,它就会修复子菜单。 jQuery改变子菜单上的类以使其固定。这一切都很好,除了一个场景,如果我在Firefox中刷新页面 - 我没有在任何其他浏览器中遇到此问题。

$(function(){
    var menu = $('#submenu_wrapper'),
        pos = menu.offset();
        $(window).scroll(function(){
            if($(this).scrollTop() >= pos.top-57 && menu.hasClass('')){
                menu.addClass('fixed');
                $('.content_push').css({"height":"109px"});
            } else if($(this).scrollTop() <= pos.top-57 && menu.hasClass('fixed')){
                menu.removeClass('fixed');
                $('.content_push').css({"height":"57px"});
            }
        });
});

我是否可以进行一些更改,以便Firefox在页面重新刷新时保留更改的类状态?我已经看到类似的固定菜单行为设法做到这一点,但似乎无法弄清楚如何。 The Twitter Bootstrap site例如,如果您转到Javascript部分,请执行此操作。

干杯。

3 个答案:

答案 0 :(得分:1)

不,重新加载后,脚本所做的任何修改都会消失。

答案 1 :(得分:0)

我认为ThiefMaster是正确的。让我感到惊讶的是,其他浏览器的行为也不同。

作为解决方法,在显示子菜单时添加URL片段(使用#),在页面加载时检查该片段,如果存在,则运行显示子菜单的脚本。

答案 2 :(得分:0)

唯一想到的是在cookie中存储一个值,并根据刷新时该cookie的值,将适当的类应用于元素。