如果触发了滚动,如何取消滚动?

时间:2010-11-05 18:23:27

标签: jquery-plugins javascript-events scrollto

我想做点什么:

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

2 个答案:

答案 0 :(得分:1)

根据jonobr1的代码,这对我有用:

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

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

我在我的事件处理程序中调用scrollTo之前添加了对stopScroll的调用。

答案 1 :(得分:0)

经过一番摆弄后,我发现这很好用。

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

无需修改插件或来源!