【问题标题】:Delay jquery function until reaching a certain div (scrollTop?)延迟 jquery 函数直到到达某个 div (scrollTop?)
【发布时间】:2015-10-15 04:29:09
【问题描述】:

我有一个幻灯片,我想推迟它的开始,直到你到达 div 的顶部。目前,我们使用绝对像素值来执行此操作,但这在移动设备中不起作用。有没有办法说“当到达 div 3 时,开始这个动画”?

我们目前拥有的:

$(window).on("scroll", function(){
  if($("body").scrollTop() === 500){
    $(window).off("scroll");
    // Code here
  }
}

我还模拟了幻灯片的 jsfiddle

感谢您的帮助!

【问题讨论】:

  • 我建议您获取要应用条件的元素的当前位置,并在 scroll 事件中比较这些位置..

标签: javascript jquery html css


【解决方案1】:

您可以像这样获得元素的顶部位置:

var top = document.querySelector("div 3").getBoundingClientRect().top

【讨论】:

    【解决方案2】:

    你可以比较一下body scroll已经到了以offset().top开头的div

    $(window).on("scroll", function(){
      if($("body").scrollTop() === $("#yourDivID").offset().top){
        $(window).off("scroll");
        // Code here
      }
    }
    

    这会奏效

    参考:Offset()

    【讨论】:

    • 我输入了这个,结果是破码,没有动画能力,也没有报错?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-28
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    相关资源
    最近更新 更多