如何确定jQuery.ScrollTo何时完成平滑滚动

时间:2012-02-08 14:43:25

标签: jquery jquery-plugins scrollto

我正在使用Ariel Flesler's awesome scrollto plugin。但我想确定插件何时完成滚动。我的页面上的scrollto速度设置为800。我怎么能这样做?

我试过了:

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

但似乎在滚动完成之前设置了isScrolling = false

除了这个之外,我还有一些附加到scrollto事件的JavaScript。滚动速度变慢到一种痛苦的速度,因为它试图进行平滑滚动并同时运行滚动事件。我希望在滚动时有效地禁用滚动事件,并在滚动完成时重新启用它。

3 个答案:

答案 0 :(得分:3)

插件有一个回调函数,在动画结束时调用:

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

假设你正在使用this scrollTo plugin,那么有一个onAfter选项可以在滚动完成后执行一个函数。