Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery在div中自动垂直滚动_Jquery_Autoscroll - Fatal编程技术网

jQuery在div中自动垂直滚动

jQuery在div中自动垂直滚动,jquery,autoscroll,Jquery,Autoscroll,有谁能推荐一个好的简单jQuery垂直autoscroller脚本吗?一个不是膨胀的,我只需要它自动启动并在一个div中滚动6个或更多li。我尝试了jquery.autoscroll.js,但无法让它自动启动 $.fn.autoscroll.defaults = { start: { step: 50, scroll: true, direction: "down", pauseOnHover: true }, de

有谁能推荐一个好的简单jQuery垂直autoscroller脚本吗?一个不是膨胀的,我只需要它自动启动并在一个div中滚动6个或更多
li
。我尝试了jquery.autoscroll.js,但无法让它自动启动

$.fn.autoscroll.defaults = { 
   start: { 
      step: 50, 
      scroll: true, 
      direction: "down", 
      pauseOnHover: true 
   }, 
   delay: 5000, 
   ffrw: { 
      speed: "fast", 
      step: 100 
   } 
};

编辑:

要在div滚动到底部时停止滚动,请在上述
函数()的末尾添加以下检查{}
-

if($(this).scrollTop() + $(this).innerHeight() >= this.scrollHeight)
   clearInterval(scroller);
}

simplyScroll是一个很酷的插件

罗宾的回答对我来说并不是很好,原因有几个,所以这里是他的方法的一个修改和扩展版本:

var div = $('.scrollbit');

$('.scrollbit').bind('scroll mousedown wheel DOMMouseScroll mousewheel keyup', function(evt) {
    if (evt.type === 'DOMMouseScroll' || evt.type === 'keyup' || evt.type === 'mousewheel') {

    }
    if (evt.originalEvent.detail < 0 || (evt.originalEvent.wheelDelta && evt.originalEvent.wheelDelta > 0)) { 
        clearInterval(scrollbit);
    }
    if (evt.originalEvent.detail > 0 || (evt.originalEvent.wheelDelta && evt.originalEvent.wheelDelta < 0)) { 
        clearInterval(scrollbit);
    }
});

var scrollbit = setInterval(function(){
    var pos = div.scrollTop();
    if ((div.scrollTop() + div.innerHeight()) >= div[0].scrollHeight) {
        clearInterval(scrollbit);
    }
    div.scrollTop(pos + 1);
}, 100);
var div=$('.scrollbit');
$('.scrollbit').bind('scroll mousedown wheel DOMMouseScroll mouseweel keyup',函数(evt){
如果(evt.type=='DOMMouseScroll'| | evt.type==='keyup'| | evt.type===='mouseweel'){
}
如果(evt.originalEvent.detail<0 | |(evt.originalEvent.wheelDelta&&evt.originalEvent.wheelDelta>0)){
clearInterval(滚动位);
}
如果(evt.originalEvent.detail>0 | |(evt.originalEvent.wheelDelta&&evt.originalEvent.wheelDelta<0)){
clearInterval(滚动位);
}
});
var scrollbit=setInterval(函数(){
var pos=div.scrollTop();
如果((div.scrollTop()+div.innerHeight())>=div[0].scrollHeight){
clearInterval(滚动位);
}
分区滚动顶部(位置+1);
}, 100);
在匿名用户1248475的帮助下:

答案是:


希望这对希望解决如何使用jquery自动滚动div并在用户手动滚动时停止的问题的人有所帮助。

在github下载的autoscroll.js中有错误的文件。 如果你在那里搜索,你可以找到它们

我已经在下面的链接上做了一个工作演示,如果你愿意,可以从中复制


当点击结尾时,它将尝试滚动和滚动,滚动和scroll@FlashThunder:上已有许多答案,请检查。检查
scrollTop
是否已达到容器高度,并使用
clearInterval
。了不起的事这怎么能保证投反对票呢?提出解决方案,而不仅仅是问题。先去搜索一下。
var div = $('.scrollbit');

$('.scrollbit').bind('scroll mousedown wheel DOMMouseScroll mousewheel keyup', function(evt) {
    if (evt.type === 'DOMMouseScroll' || evt.type === 'keyup' || evt.type === 'mousewheel') {

    }
    if (evt.originalEvent.detail < 0 || (evt.originalEvent.wheelDelta && evt.originalEvent.wheelDelta > 0)) { 
        clearInterval(scrollbit);
    }
    if (evt.originalEvent.detail > 0 || (evt.originalEvent.wheelDelta && evt.originalEvent.wheelDelta < 0)) { 
        clearInterval(scrollbit);
    }
});

var scrollbit = setInterval(function(){
    var pos = div.scrollTop();
    if ((div.scrollTop() + div.innerHeight()) >= div[0].scrollHeight) {
        clearInterval(scrollbit);
    }
    div.scrollTop(pos + 1);
}, 100);