JavaScript无限上下元素滚动?

JavaScript无限上下元素滚动?,javascript,jquery,Javascript,Jquery,我想知道是否有一种简单的方法可以使用JavaScript(可能也是jQuery?),以便在页面加载时,在没有任何用户输入或操作的情况下,使固定高度div元素的内容无限上下滚动(top、bottom、top、bottom等) 提前感谢您,我们非常感谢您的任何输入,因为我在JavaScript方面很难做到平庸。使用纯js,您可以执行以下操作: var scroller = document.getElementById('scroller'); var delta = 15; var lastSc;

我想知道是否有一种简单的方法可以使用JavaScript(可能也是jQuery?),以便在页面加载时,在没有任何用户输入或操作的情况下,使固定高度div元素的内容无限上下滚动(top、bottom、top、bottom等)


提前感谢您,我们非常感谢您的任何输入,因为我在JavaScript方面很难做到平庸。

使用纯js,您可以执行以下操作:

var scroller = document.getElementById('scroller');
var delta = 15;
var lastSc;

    //console.log(scroller.scrollTop, scrollHeight);
setInterval(function(){
    var sc = scroller.scrollTop + delta;
    scroller.scrollTop = sc;
    if (scroller.scrollTop === lastSc){
        delta = delta*(-1);
    }
    lastSc = scroller.scrollTop;
}, 10);


编辑:更新的演示

以下是我刚刚用jQuery编写的内容:

var speed = 100; //smaller means faster
var offset = 5; //bigger means more text will be "scrolled" every time

function ScrollMyDiv() {
    var myDiv = $("#MyDiv");
    var direction = myDiv.attr("scroll_dir") || "";
    var lastScrollTop = parseInt(myDiv.attr("last_scroll_top") || "0", 10);
    if (direction.length === 0) {
        myDiv.attr("scroll_dir", "down");
        direction = "down";
    }
    var top = myDiv.scrollTop();
    myDiv.attr("last_scroll_top", top + "")
    if (direction === "down") {
        if (top > 0 && lastScrollTop === top)
            myDiv.attr("scroll_dir", "up");
        top += offset;
    } else {
        if (top <= 0)
            myDiv.attr("scroll_dir", "down");
        top -= offset;
    }

    myDiv.scrollTop(top);
    window.setTimeout(ScrollMyDiv, speed);
}

$(document).ready(function() {
    ScrollMyDiv();
});
var速度=100//更小意味着更快
var偏移=5//越大意味着每次“滚动”的文本越多
函数ScrollMyDiv(){
var myDiv=$(“myDiv”);
var direction=myDiv.attr(“滚动方向”)| |“;
var lastScrollTop=parseInt(myDiv.attr(“last_scroll_top”)||“0”,10);
if(direction.length==0){
myDiv.attr(“滚动方向”、“向下”);
方向=“向下”;
}
var top=myDiv.scrollTop();
myDiv.attr(“最后一次滚动”,顶部+”)
如果(方向==“向下”){
如果(顶部>0&&lastScrollTop==顶部)
myDiv.attr(“滚动方向”、“向上”);
顶部+=偏移量;
}否则{

if(top谢谢你的回复,但我在别处找到了我的答案。以下是我最终使用的:


它有几个小问题,但我至少对基本JavaScript有足够的了解来解决它们。希望这将有助于将来的某个人。:)

参见此处:此处:如果您找到了自己的答案,请将其放在“答案”部分,并将其标记为正确答案。不要仅用您找到的答案编辑问题。我会编辑的,但我的声誉不是100,而且还不到8小时。我想最好进行编辑,并说我找到了答案,而不是让人们浪费时间来回答我的问题。
scrollHeight
给出的值大于实际内容的高度。请看它的滚动超出了实际内容的高度。虽然这也符合我的喜好,但在你发表那篇文章之前,我确实找到了一个合适的解决方案。不过,谢谢,我肯定会把它作为书签或将来使用。:@Shadow,因为内容高度有意设置为1000px。