我知道已有关于此问题的主题,但所有解决方案对我都没有用。
我希望在用户滚动时将我的菜单固定在页面顶部。
我找到了一个脚本并根据我的需要进行了调整:
var win = $(document.body);
var fxel = $('#stickynav');
var eloffset = $('#stickynav').offset().top;
console.log(win.scrollTop());
win.scroll(function() {
if (eloffset < win.scrollTop()) {
console.log('fixed');
fxel.addClass("fixed");
} else {
console.log(eloffset + ' != ' + win.scrollTop());
fxel.removeClass("fixed");
}
});
它正在使用firefox和IE8而不是chrome,win.scrollTop()总是返回0。
我尝试了所有内容win = $(document)
,$(window)
和$('body, html')
,并且它始终返回0或无效。
有人能帮助我吗?
答案 0 :(得分:1)
我在我的一个项目中使用它,它可能适合你。
//window events
$(window).on('scroll', function(){
that = $(this);
if(that.scrollTop()>break_point){
//YOUR CODE
}
});
<强>更新强>
我为解决你的问题而努力。 首先尝试更新你的jQuery,如果问题仍然存在,请尝试使用: 我已经在你的页面上测试了它,它似乎工作正常。
$(window).on('scroll', function(){
that = $(this);
//because you are wrapping all contents
var offsetTop = Math.abs($('.wrapper-1').offset().top);
if(offsetTop>break_point){
//CODE HERE
}
});
老实说希望它有效。干杯