【问题标题】:jQuery scrollTop() - works only on Firefox not in ChromejQuery scrollTop() - 仅适用于 Firefox,不适用于 Chrome
【发布时间】:2013-11-26 10:37:47
【问题描述】:

我有最新的浏览器版本,我的代码很简单:

$(window).scroll(function() {
$('#page-content').css('min-height',$(window).height()+'px');
console.log($('html').scrollTop());
if (  $('html').scrollTop() > 1 ) {

$('.nav-header').css({'position':'fixed','top':'40px','border-radius':'0 0 0 0','width':$('.nav-header').parent().width()-1+'px'});

}
if ( $('html').scrollTop() == 0 ) {

$('.nav-header').css({'position':'relative','top':'0px','border-radius':'5px 5px 0 0','width':$('.nav-header').parent().width()-1+'px'});

}

});

在 Firefox 上一切正常,但在 Chrome 中它不起作用,我无法在 chrome 中控制台日志 scrollTop(),控制台中没有任何内容:(

这是JSFIDDLE 先在 Firefox 上检查,然后在 Chrome 上检查 :(

【问题讨论】:

  • 分享您的 HTML 或创建小提琴
  • $(window).scrollTop() ???
  • $('html').scrollTop() 总是给我零(Chrome)。您确定要使用它吗?要检测滚动位置,您应该使用 $(window).scrollTop()
  • jsfiddle 检查一下请检查一下
  • 如果您尝试修复页面滚动时的 div,您可以检查:stickyjs.com。希望这会有所帮助

标签: javascript jquery google-chrome scrolltop affix


【解决方案1】:

我想你做错了。要检测滚动位置,您应该使用$(window).scrollTop(),而不是$('html').scrollTop()

【讨论】:

    【解决方案2】:

    使用 $('body').scrollTop() 在 Chrome 和 FF 中为我工作

    【讨论】:

    • 不,我修复了它是 $(window) 而不是 $(html) 或 body ;) ,谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 2011-08-21
    • 1970-01-01
    • 2011-05-24
    • 2019-11-15
    • 1970-01-01
    • 2012-02-14
    相关资源
    最近更新 更多