javascript - document.body scrollTop 在 chrome 中返回 0 但在 firefox 中不返回

标签 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() {

    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 或什么都不返回。

有人可以帮帮我吗?

最佳答案

我正在我的一个项目中使用它,它可能适合你。

//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
        }
    });

真诚地希望它有效。干杯

关于javascript - document.body scrollTop 在 chrome 中返回 0 但在 firefox 中不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27981065/

相关文章:

php - 使用 Angular.js 连接数据库和模型

javascript - 当用户单击添加更多时复制选择/选项框

java - 部分 CSS 代码在 Chrome 中不起作用

Magento 管理员登录在 chrome 中不起作用,但在 firefox 中工作正常

javascript - 如何在jsp中使用javascript动态添加文本框

javascript - 为什么我在 angularjs 中没有遇到函数错误?

javascript - mocha 中的“it”无法使用 await 运行

jquery - 引用嵌套类让 JQuery 点击工作

javascript - 如何更改动态表中的特定图像?

javascript - 为什么 WAV 格式在不同的浏览器中没有相同的 mimetype?