Javascript 双向(上下)循环动态可滚动元素

Javascript 双向(上下)循环动态可滚动元素,javascript,jquery,html,Javascript,Jquery,Html,有很多解决方案可以循环整个页面,但我很难将它们调整到具有固定高度的特定元素。以下是我所拥有的: var el = this; var originalHeight = el.children().first().outerHeight() * el.children().length; var dup = el.contents().clone(); el.append(dup); el.scroll(function(){ var s

有很多解决方案可以循环整个页面,但我很难将它们调整到具有固定高度的特定元素。以下是我所拥有的:

    var el = this;
    var originalHeight = el.children().first().outerHeight() * el.children().length;
    var dup = el.contents().clone();
    el.append(dup);

    el.scroll(function(){

        var scrollPosition = el.scrollTop();

        if( scrollPosition >= originalHeight ) {
            el.scrollTop(0);
        }
    });

};
上面的操作非常适合向下滚动。只要我添加
else
语句,事情就糟了。循环向上不仅不能很好地工作,还会导致循环向下跳跃

if( scrollPosition >= originalHeight ) {
    el.scrollTop(0);
} else if (scrollPosition < x) {
    el.scrollTop(y)
}

1.
2.
3.
4.
5.
6.
7.
8.
9
10
11
12
13
14
15
16
17
18
19

这似乎很有效。它比我预想的要复杂,所以也许有人可以发布一个更简单的解决方案

(函数($){
$.fn.fundle=函数(选项){
var el=这个;
var originalHeight=el.children().first().outerHeight()*el.children().length;
var$before=$(“”,{id:“无尽的before”});
var$after=$(“”,{id:“}之后无止境);
$before.append(el.contents().clone());
$after.append(el.contents().clone());
el.children().wrapAll($('',{id:'无尽的原创'}));
el.预支(前);
el.追加($之后);
var newHeight=el.children().first().outerHeight()*el.children().length;
var beforeTop=$('#无穷的beforeTop').offset().top;
var originalTop=$(“#无限原始”).offset().top;
var afterTop=$(“#无穷后”).offset().top;
el.滚动顶部(原始顶部+1);
el.滚动(函数(){
var scrollPosition=el.scrollTop();
如果(滚动位置>后顶){
el.scrollTop(原始顶部);
console.log(“循环”);
}else if(滚动位置
body{溢出:隐藏;}
.rmenu{
位置:绝对位置;
右:-30px;
最小宽度:150px;
高度:200px;
溢出y:滚动;
}

1.
2.
3.
4.
5.
6.
7.
8.
9
10
11
12
13
14
15
16
17
18
19