当用户手动滚动时,jQuery .animate()停止滚动吗?

当用户手动滚动时,jQuery .animate()停止滚动吗?,第1张

当用户手动滚动时,jQuery .animate()停止滚动吗?

将功能更改为此:

var page = $("html, body");$( "section" ).click(function(e) {   page.on("scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove", function(){       page.stop();   });   page.animate({ scrollTop: $(this).position().top }, 'slow', function(){       page.off("scroll mousedown wheel DOMMouseScroll mousewheel keyup touchmove");   });   return false; });

这将:

  • 如果用户手动滚动(仅在动画过程中),则停止动画
  • 不会妨碍您正常的jQuery动画,例如其他一些答案

一些额外的信息:

您为什么要绑定所有这些事件?“滚动鼠标滚轮等…”

有许多不同类型的滚动事件。您可以使用鼠标,键盘,触摸屏等向下滚动。通过此 *** 作,我们确保可以捕获 所有 这些内容。

有什么用

var page = $("html, body");
?我不能随便使用
$("html, body")
吗?

如果您多次使用同一选择器,则最好将它们缓存在一个变量中。与让程序每次重新计算选择器相比,它更容易编写/使用,并且具有更好的性能。

我在哪里可以找到更多信息

.animate()
.stop()

您可以阅读.animate()和.stop()的jQuery文档。我还建议您阅读有关动画队列的内容,因为

.stop()
该原则适用于此。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5641360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存