Как я могу отменить Scrollto, если он был запускается?

StackOverflow https://stackoverflow.com/questions/4108858

Вопрос

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

var scrollable;
scrollable = $(window).scrollTo(99999, 99999);
$(window).scroll(function() {
    // cancel the scrollTo
    scrollable = null;
});
Это было полезно?

Решение 2

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

$(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
}

Не нужно изменять плагин или источник!

Другие советы

Основываясь на коде 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 вызовет и в моих обработчиках событий.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top