Как определить, когда jQuery.ScrollTo завершил плавную прокрутку - PullRequest
1 голос
/ 08 февраля 2012

Я использую Ariel Flesler - потрясающий плагин scrollto .Но я хочу определить, когда плагин закончил прокрутку.Скорость прокрутки на моей странице установлена ​​на 800.Как я могу это сделать?

Я пытался:

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

Но кажется, что isScrolling = false устанавливается до завершения прокрутки.

У меня есть некоторыеJavaScript присоединяется к событию scrollto в дополнение к этому.Прокрутка замедляется до мучительной скорости, потому что она пытается сделать плавную прокрутку и запустить событие прокрутки одновременно.Я надеялся эффективно отключить событие прокрутки во время прокрутки и повторно включить его после завершения прокрутки.

Ответы [ 3 ]

3 голосов
/ 08 февраля 2012

Плагин имеет функцию обратного вызова, которая вызывается при завершении анимации:

onAfter: A function to be called after the whole animation ended.
2 голосов
/ 08 февраля 2012

Используйте событие onAfter, которое запускается после завершения прокрутки, что также является третьим аргументом плагина scrollTo в качестве функции обратного вызова.Попробуйте это.

    isScrolling = true;
    jQuery(listWrapper).scrollTo(theId, 800, function(){
        isScrolling = false;
    });
0 голосов
/ 08 февраля 2012

Если вы используете этот плагин scrollTo , есть опция onAfter, которая принимает функцию для выполнения после завершения прокрутки.

...