jquery - 函数调用时的scrollTop 动画多个

标签 jquery function scroll jquery-animate

我有这个http://jsfiddle.net/Borisko/604rLvbc/38/

我想向 scrollTop 添加动画(延迟,无论如何,让它变得漂亮):

 $div.scrollTop(fixpos);

添加动画后,一切都崩溃了,滚动多次

有什么办法可以让scrollTop动画只运行一次(就像没有动画一样)

最佳答案

好吧,所以我不能确定这背后的原因 - 如果你添加动画,功能就会停止,并且代码不起作用 - 一个滚动上的动画多次出现到错误的元素 - 但是这就是我认为这里发生的情况:当我们将值分配给 pos

时,scrollTop() 值仍然没有更新
var pos = $div.scrollTop();

因此,在制作动画之前,我已将 scrollTop 值存储在全局变量 valuePos 中,然后在下一次滚动时将该值设置为 pos 。我已使用 scrollTop 初始化了 valuePos

var valuePos = $("#target").scrollTop();

如果您快速滚动,动画将会起作用,但会稍有延迟,因为我们在这里调用多个 animate 。我在 animate 调用之前使用了 .stop(),这样动画就不会滞后太多。

请引用此fiddle .

关于jquery - 函数调用时的scrollTop 动画多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36735933/

相关文章:

javascript - 返回未定义的 Angular 服务不是函数

Android - 用于交错 GridView 的 OnScrollListener

c# - 在 ASP.NET MVC 应用程序中引用 Javascript 文件中路径的正确方法

javascript - 如果没有结果则反抗

javascript - 如何使用单击事件处理程序 jQuery

c - C中的MACRO执行步骤

jquery - 如何使用 This 来改进和简化代码

jquery:将 OR 与 .click() 一起使用?

html - 如何在 CSS 中仅在一个方向上启用滚动?

jquery - DragScroll 无法在我的 ASP.NET 网站 JQuery 上运行