函数调用scrollTop动画多个

时间:2016-04-20 06:51:20

标签: jquery function scroll jquery-animate

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

我想要添加动画(延迟,无论如何,让它变得更好)来滚动:

 $div.scrollTop(fixpos);

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

有任何方法可以让scrollTop动画只运行一次(就像没有动画一样)

1 个答案:

答案 0 :(得分:0)

好的,所以我无法确定这背后的原因 - 如果你添加动画,功能停止,代码不起作用 - 一个滚动上的动画多次转到错误的元素 - 但这就是我认为这里发生的事情:当我们为pos赋值时,scrollTop()值仍然没有更新

var pos = $div.scrollTop();

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

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

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

请参阅此fiddle