有页面自动滚动 - 但当用户手动滚动时停止自动滚动(jquery?)

时间:2014-11-12 06:02:06

标签: jquery angularjs

不确定最佳方法。

我有一些自动滚动的代码,如下所示:

$("html, body").animate({
    scrollTop: $('html, body').get(0).scrollHeight
}, (60000));

我认为我可以通过添加以下内容来“停止”滚动:

$(window).on('scroll', function() {
    $("html, body").stop();
});

但看起来第二位代码在第一位代码执行时触发。所以我没有做任何事情。

当用户想要手动滚动或移动滚动条时,我只需要一种让自动滚动停止的方法。

欢迎所有想法。感谢。

1 个答案:

答案 0 :(得分:1)

$('body,html').bind('scroll mousedown wheel DOMMouseScroll mousewheel keyup', function(e){
 if ( e.which > 0 || e.type == "mousedown" || e.type == "mousewheel"){
  $("html,body").stop();
 }
});

我在

找到了答案

How can I differentiate a manual scroll (via mousewheel/scrollbar) from a Javascript/jQuery scroll?

我添加了jsbin来描述

http://jsbin.com/dujuxihota/1/edit?js,output