Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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
Javascript 如何将背景动画制作成循环(重复功能)_Javascript_Jquery_Loops_Repeat - Fatal编程技术网

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
设置为第一个的回调。太好了,成功了。稍微调整一下,我就把它们都圈起来了。谢谢,没问题,我很高兴这对你有帮助。如果这回答了你的问题,那么我一点也不介意你接受我的回答;)