【问题标题】:Reach middle element on (window).scroll到达 (window).scroll 上的中间元素
【发布时间】:2013-08-17 12:56:19
【问题描述】:

不知道怎么回事? 我试图在滚动时获取#second 元素

这里是 console.log 的例子 CODEPEN EXAMPLE

$(window).scroll(function(){
    var section     =     $("#second").offset().left,
    scrollXpos          =   $("body").scrollLeft();




    if(scrollXpos == section){

        console.log("second")
    }
    else{
         console.log("rest")
    }
});  

【问题讨论】:

  • 我不明白,代码是直截了当的,它按预期工作。有什么问题?编辑:您是否使用浏览器窗口中的滚动按钮进行滚动?如果是这样,我的浏览器或用户的选项设置的滚动速度可能会完全错过事件,因为它会跳过应该触发事件的区域。
  • 实际上它不起作用,这就是我寻求帮助的原因。 W8 会在我的服务器上做文件以显示什么不起作用。
  • 你用的是什么浏览器?
  • 好的,这里的链接:revelier.home.pl/window 现在当你滚动时(通过滚轮或箭头或滚动条)到达#second 时,应该附加在#prove“工作”上,但它不是。我不知道为什么,代码应该可以工作,但事实并非如此。还有其他方法吗?
  • 它对我有用。可能是你的浏览器。当我向中间滚动并到达#second 元素时,它将“工作”附加到“不工作”。

标签: javascript jquery scroll offset


【解决方案1】:

显然opera,ie和firefox配合使用效果更好

$(document).scrollLeft();

不是

$("body").scrollLeft();

同样适用

$(document, window).scroll(function(){

不是

$(window).scroll(function(){

谢谢@trendy

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    相关资源
    最近更新 更多