Javascript document.body scrollTop在chrome中返回0,但在firefox中不返回
我知道已经有关于这个问题的话题了,但所有的解决方案都不适合我 当用户滚动时,我希望我的菜单固定在页面顶部 我找到了一个脚本,并根据自己的需要进行了修改:Javascript document.body scrollTop在chrome中返回0,但在firefox中不返回,javascript,jquery,google-chrome,fixed,scrolltop,Javascript,Jquery,Google Chrome,Fixed,Scrolltop,我知道已经有关于这个问题的话题了,但所有的解决方案都不适合我 当用户滚动时,我希望我的菜单固定在页面顶部 我找到了一个脚本,并根据自己的需要进行了修改: var win = $(document.body); var fxel = $('#stickynav'); var eloffset = $('#stickynav').offset().top; console.log(win.scrollTop()); win.scroll(function() {
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");
}
});
var-win=$(document.body);
var fxel=$('stickynav');
var eloffset=$('#stickynav').offset().top;
console.log(win.scrollTop());
win.scroll(函数(){
if(eloffset
它在firefox和IE8上工作,但在chrome上不工作,win.scrollTop()总是返回0
我尝试了一切win=$(文档)
,$(窗口)
和$('body,html')
,它总是返回0或什么也没有
有人能帮我吗?我正在我的一个项目中使用这个,它可能对你有用
//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
}
});
老实说,我希望它能起作用。干杯这应该行得通,你能提供一把小提琴吗?我不行,因为它应该行得通,如果你想看一下,这里是网站的url:呃,你不使用“position:fixed;”有什么原因吗?当我滚动时,我将包含position:fixed的类“fixed”添加到我的菜单中,比如:嗨,谢谢你的回答,但似乎也不起作用:/