Javascript 如何将背景动画制作成循环(重复功能)
我有一个脚本显示在网站的背景开始。过了一会儿就停了。我怎样才能使它成为一个循环Javascript 如何将背景动画制作成循环(重复功能),javascript,jquery,loops,repeat,Javascript,Jquery,Loops,Repeat,我有一个脚本显示在网站的背景开始。过了一会儿就停了。我怎样才能使它成为一个循环 $(function(){ $('#midground').css({backgroundPosition: '0px 0px'}); $('#foreground').css({backgroundPosition: '0px 0px'}); $('#midground').animate({ backgroundPosition:"(-10000px -2000px)" }, 24000
$(function(){
$('#midground').css({backgroundPosition: '0px 0px'});
$('#foreground').css({backgroundPosition: '0px 0px'});
$('#midground').animate({
backgroundPosition:"(-10000px -2000px)"
}, 240000, 'linear');
$('#foreground').animate({
backgroundPosition:"(-10000px -2000px)"
}, 180000, 'linear');
})
将其粘贴到函数中,然后在设置超时后调用自身
function myAnimation() {
$('#midground').css({backgroundPosition: '0px 0px'});
$('#foreground').css({backgroundPosition: '0px 0px'});
$('#midground').animate({
backgroundPosition:"(-10000px -2000px)"
}, 240000, 'linear');
$('#foreground').animate({
backgroundPosition:"(-10000px -2000px)"
}, 180000, 'linear', function() {
setTimeout(myAnimation, 500);
});
});
}
是的,但是对于那些非常长的动画延迟,最好从其中一个的完成回调中调用“setTimeout()”。根据OP是否希望动画异步进行,他可能希望将第二个
animate
设置为第一个的回调。太好了,成功了。稍微调整一下,我就把它们都圈起来了。谢谢,没问题,我很高兴这对你有帮助。如果这回答了你的问题,那么我一点也不介意你接受我的回答;)