当前位置: 首页 > 面试题库 >

用户停止滚动时的事件

卫阳曜
2023-03-14
问题内容

当用户滚动页面时,我想做一些有趣的jQuery东西。但是我不知道如何解决这个问题,因为只有scroll()方法。

有任何想法吗?


问题答案:

您可以使scroll()每次用户滚动时都有一个超时被覆盖。这样,当他在一定毫秒后停止运行时,您的脚本将运行,但是如果他在此期间滚动,则计数器将重新开始,并且脚本将等待直到完成滚动为止。

更新:

因为这个问题又采取了一些行动,所以我认为我不妨使用添加scrollEnd事件的jQuery扩展对其进行更新。

// extension:

$.fn.scrollEnd = function(callback, timeout) {

  $(this).scroll(function(){

    var $this = $(this);

    if ($this.data('scrollTimeout')) {

      clearTimeout($this.data('scrollTimeout'));

    }

    $this.data('scrollTimeout', setTimeout(callback,timeout));

  });

};



// how to call it (with a 1000ms timeout):

$(window).scrollEnd(function(){

    alert('stopped scrolling');

}, 1000);


<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>



<div style="height: 200vh">

  Long div

</div>


 类似资料:
  • 问题内容: 我已经设置了一个片段,当单击该片段时会将页面部分滚动到视图中,问题是,如果用户想在动画中间滚动,则滚动会有点断断续续。 如果用户手动滚动,如何停止jquery动画? 问题答案: 将功能更改为此: 这将: 如果用户手动滚动(仅在动画过程中),则停止动画 不会妨碍您正常的jQuery动画,例如其他一些答案 一些额外的信息: 您为什么要绑定所有这些事件?“滚动鼠标滚轮等…” 有许多不同类型的

  • 问题内容: 好的。 我可以从我的理解中得知某人正在滚动。因此,我试图找出有人停下来时该如何捕捉。从上面的示例中,您可以看到发生滚动时,我正在从一组元素中删除一个类。但是,我想在用户停止滚动时重新打开该类。 这样做的原因是,我打算在页面滚动时进行中转节目,以使页面具有我正在尝试的特殊效果。但是我尝试在滚动时删除的一个类与该效果冲突,因为它对某种性质是透明的。 问题答案: 更新资料 我写了一个扩展来增

  • 所以我有一个问题,我对android编程很陌生,我开始编程android应用程序才6-8周,所以我可能是盲人,看不到简单的答案,但我的问题是: 我正在做一个学校项目,我试图开发一个类似于今天日历分割视图中的日历(下面的一个) 我用GridLayoutManager创建了一个RecyclerView,如下所示: 在此之前,一切都很好,但我正在尝试实现一个按钮,该按钮将日历设置为今天的日期,问题是当我

  • 我将CoordinatorLayout与AppBarLayout和CollapsingToolbarLayout一起使用。还有一个内容的NestedScrollView。当我在CollapsingToolbarLayout上滚动时,当Collapsing工具栏Layout折叠时,滚动停止。我想要的是继续滚动NestedScrollView的内容。当我在NestedScrollView上滚动时,它会

  • 当用户点击tabbar按钮时,我需要将我的tableview滚动到顶部,然后像这样设置。 问题是滚动停止了一半,它没有滚动到顶部。我需要点击像2-3次滚动到顶部。有什么我需要检查的吗?在我的其他项目中,这是可以的。对于这个,我使用自调整大小的单元格。

  • 有没有一种方法可以隐藏滚动条,但仍然保留向上/向下滚动的选项?我尝试溢出:隐藏;它删除滚动条,但我不能滚动。