我有这个http://jsfiddle.net/Borisko/604rLvbc/38/
我想向 scrollTop 添加动画(延迟,无论如何,让它变得漂亮):
$div.scrollTop(fixpos);
添加动画后,一切都崩溃了,滚动多次。
有什么办法可以让scrollTop动画只运行一次(就像没有动画一样)
最佳答案
好吧,所以我不能确定这背后的原因 - 如果你添加动画,功能就会停止,并且代码不起作用 - 一个滚动上的动画多次出现到错误的元素 - 但是这就是我认为这里发生的情况:当我们将值分配给 pos
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/