函数调用上的 scrollTop 动画多个
scrollTop on function call animate multiple
我有这个http://jsfiddle.net/Borisko/604rLvbc/38/
我想在 scrolTop 中添加动画(延迟,不管怎样,让它好看):
$div.scrollTop(fixpos);
添加动画后,一切都崩溃了,滚动 多次。
有什么方法可以使 scrollTop 动画 运行 一次(就像没有动画一样)
好的,所以我不能确定这背后的原因 - 如果你添加动画,功能就会停止,并且代码不起作用 - 一个滚动上的动画多次出现在错误的元素上 - 但我认为这就是这里发生的事情:当我们将值分配给 pos
时,scrollTop() 值仍然没有更新
var pos = $div.scrollTop();
因此,在制作动画之前,我将 scrollTop
值存储在全局变量 valuePos
中,然后在下一次滚动时将该值设置为 pos
。我已经用 scrollTop
.
初始化了 valuePos
var valuePos = $("#target").scrollTop();
如果您快速滚动,动画将会运行,但会稍有延迟,因为我们在这里调用了多个 animate
。我在 animate
调用之前使用了 .stop()
,这样动画就不会滞后太多。
请参考这个fiddle。
我有这个http://jsfiddle.net/Borisko/604rLvbc/38/
我想在 scrolTop 中添加动画(延迟,不管怎样,让它好看):
$div.scrollTop(fixpos);
添加动画后,一切都崩溃了,滚动 多次。
有什么方法可以使 scrollTop 动画 运行 一次(就像没有动画一样)
好的,所以我不能确定这背后的原因 - 如果你添加动画,功能就会停止,并且代码不起作用 - 一个滚动上的动画多次出现在错误的元素上 - 但我认为这就是这里发生的事情:当我们将值分配给 pos
var pos = $div.scrollTop();
因此,在制作动画之前,我将 scrollTop
值存储在全局变量 valuePos
中,然后在下一次滚动时将该值设置为 pos
。我已经用 scrollTop
.
valuePos
var valuePos = $("#target").scrollTop();
如果您快速滚动,动画将会运行,但会稍有延迟,因为我们在这里调用了多个 animate
。我在 animate
调用之前使用了 .stop()
,这样动画就不会滞后太多。
请参考这个fiddle。