我写了一些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部分,请执行此操作。
干杯。
答案 0 :(得分:1)
不,重新加载后,脚本所做的任何修改都会消失。
答案 1 :(得分:0)
我认为ThiefMaster是正确的。让我感到惊讶的是,其他浏览器的行为也不同。
作为解决方法,在显示子菜单时添加URL片段(使用#),在页面加载时检查该片段,如果存在,则运行显示子菜单的脚本。
答案 2 :(得分:0)
唯一想到的是在cookie中存储一个值,并根据刷新时该cookie的值,将适当的类应用于元素。