Jquery 使用topscroll的动画创建无限循环
我正在尝试循环一个函数/动画。我想要一个页面滚动到底部,然后跳到顶部并无限地执行。 我有这样做的代码,但只有一次:Jquery 使用topscroll的动画创建无限循环,jquery,Jquery,我正在尝试循环一个函数/动画。我想要一个页面滚动到底部,然后跳到顶部并无限地执行。 我有这样做的代码,但只有一次: $(document).ready(pagescroll); function pagescroll() { var z = document.getElementById('main_container').clientHeight + 2400; var speed = z * 2; window.scroll(0,0); $('body, ht
$(document).ready(pagescroll);
function pagescroll() {
var z = document.getElementById('main_container').clientHeight + 2400;
var speed = z * 2;
window.scroll(0,0);
$('body, html').animate({ scrollTop: z }, { easing: "linear", duration: speed });
}
main_container
是一个横跨页面的div。我尝试添加pagesroll()代码>在设置动画之后,移除窗口。滚动(0,0)
,并在持续时间之后添加页面滚动
和页面滚动()。我发现的每个例子都不起作用。如何将无限循环添加到此函数?您需要将回调添加到animate
函数,如下所示:
$('body,html').animate(
{scrollTop: z},
{easing: "linear", duration: speed},
function() {
$('body,html').scrollTop( 0 ); // scroll to top when animation finished
pagescroll(); // call scroll function again
}
);
在这种情况下,您的函数将以递归方式工作。这是您正在寻找的一种奇怪的行为,但谁知道呢…它不会在网站上实现-基本上,它就像结束学分一样,有人可以轻松地将名称添加到XML文件并在循环中显示它。整个东西都会投影到墙上。它会滚动到所说的位置,但不会跳回到顶部。@user2584809尝试添加窗口。滚动(0,0)代码>在$('body,html')之前代码>还是没什么。看起来在完成动画后,它并没有调用其他函数(我将整个滚动回调更改为简单警报,但什么也没发生)。为了测试的目的,我还修改了它,使它具有恒定的topscroll位置和持续时间。您可以创建come-jsFiddle示例或其他什么吗?这里:这不是完全相同的事情,因为我通过从XML文件导入数据来生成“文本”段落。