Как я могу отменить scrollTo, если он был запущен? - PullRequest
0 голосов
/ 05 ноября 2010

Я бы хотел сделать что-то вроде:

var scrollable;
scrollable = $(window).scrollTo(99999, 99999);
$(window).scroll(function() {
    // cancel the scrollTo
    scrollable = null;
});

Ответы [ 2 ]

1 голос
/ 19 мая 2011

На основе кода jonobr1 это работает для меня:

if(window.addEventListener) document.addEventListener('DOMMouseScroll', stopScroll, false);
document.onmousewheel = stopScroll;

function stopScroll() {
  $(window)._scrollable().stop(true, false);  // Stops and dequeue's animations
}

Я добавил вызов stopScroll до того, как мои scrollTo вызовет и в моих обработчиках событий.

0 голосов
/ 05 ноября 2010

После некоторой тряски я обнаружил, что это хорошо работает.

$(window).scrollTo(99999, 99999);
$(window).click(function() {
    stopScroll();
});

 if(window.addEventListener) document.addEventListener('DOMMouseScroll', stopScroll, false);
 document.onmousewheel = stopScroll;

function stopScroll() {
    $(window).stop(true, false);  // Stops and dequeue's animations
}

Нет необходимости изменять плагин или источник!

...