2012-02-08 35 views
1

我使用Ariel Flesler's awesome scrollto plugin。但我想,以确定该插件已经完成滚动。我的页面上的滚动速度设置为800。我怎样才能做到这一点?如何确定何时jQuery.ScrollTo完成平滑滚动

我已经试过:

 isScrolling = true; 
     jQuery(listWrapper).scrollTo(theId, 800); 
     isScrolling = false; 

但它好像在滚动完成之前isScrolling = false被设定。

我有一些JavaScript连接到scrollto事件除了这一点。滚动减慢到一个痛苦的速度,因为它试图做平滑滚动和运行在同一时间的滚动事件。我希望,而它的滚动,有效地禁用滚动事件,并重新启用它,当滚动完成。

回答

3

插件具有被称为当动画结束回调函数:

onAfter: A function to be called after the whole animation ended. 
+0

我没有看到,在文档中哈哈。谢谢! @Sorin S. – Hoppe 2012-02-08 15:13:48

0

假设你正在使用this scrollTo plugin,有一个onAfter选项,需要一个功能,一旦滚动完成执行。

2

使用onAfter滚动结束后触发的事件,也是scrollTo插件的第三个参数作为回调函数。尝试这个。

isScrolling = true; 
    jQuery(listWrapper).scrollTo(theId, 800, function(){ 
     isScrolling = false; 
    }); 
+0

感谢您的示例代码! @ShankarSangoli – Hoppe 2012-02-08 15:14:13

+0

很好的解决方案.. – Farhan 2013-02-23 09:38:39