Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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 如何使jquery无限重复循环_Javascript_Jquery_Setinterval - Fatal编程技术网

Javascript 如何使jquery无限重复循环

Javascript 如何使jquery无限重复循环,javascript,jquery,setinterval,Javascript,Jquery,Setinterval,我正在尝试使用div中的图像实现jQuery infinte循环。我曾尝试使用setInterval函数来实现它,但问题是整个动画以3秒的延迟开始,我想要实现的是,动画在3秒后结束时会自动重复。我还尝试在.fadeTo之后执行回调函数,但它只应用于第一个图像,而不是整个动画 代码如下: setInterval(function(){ $('#animation-text img').each(function(i) { $(this).delay((i++) * 500)

我正在尝试使用div中的图像实现jQuery infinte循环。我曾尝试使用setInterval函数来实现它,但问题是整个动画以3秒的延迟开始,我想要实现的是,动画在3秒后结束时会自动重复。我还尝试在.fadeTo之后执行回调函数,但它只应用于第一个图像,而不是整个动画

代码如下:

setInterval(function(){
    $('#animation-text img').each(function(i) {
        $(this).delay((i++) * 500).fadeTo(70, 1);
    });
}, 3000);
下面是JSFIDLE:


有什么想法吗?

将完整动画插入函数,然后将该函数作为回调传递给最后一个动画。示例-

$(document).ready(function() {   
  function animateDivers() {
    $('#divers').animate({'margin-top':'90px'},6000).animate({'margin-  top':'40px'},6000, animateDivers); 
  }
  animateDivers();
}); 
您可以在此处找到更多详细信息-

更新:


试试这个。它会立即启动并显示每一张图片。显示所有图像后(每个函数完成),我将
类型更改为0
type
不透明度的另一个词。所以下一次周围的图像会被隐藏起来

function setIntervalAndExecute(fn, t) {
    fn();
    return (setInterval(fn, t));
}

$(document).ready(function () {
    var type = 1;
    setIntervalAndExecute(function () {
        $('#animation-text img').each(function (i) {
            $(this).delay((i++) * 500).fadeTo(70, type);
        });
        type = (type + 1) % 2;
    }, 3000);


});

一旦图像淡入,然后你需要隐藏图像,然后它就会工作。请检查下面的小提琴

}))

尝试使用
fadeOut()
擦除图像:

$(文档).ready(函数(){
setInterval(函数(){
$(“#动画文本img”)。每个(函数(i){
延迟((i++)*500),fadeTo(10,1);
});
}, 3000);
setInterval(函数(){
$(“#动画文本img”)。每个(函数(i){
$(这个)。延迟((i++)*500)。淡出(10);
});
}, 8000);
});
#动画文本{宽度:100%;字体大小:0;边框:1px纯红色;}
#动画文本img{opacity:0;}


它没有重复动画?您想继续添加新图像,还是只重复三个图像的动画@BadRequest我只想在遇到endtnx人时重复动画。这是重复的好,但你能让它像刚刚开始的一切,没有淡出图像的图像。Tnx!
function setIntervalAndExecute(fn, t) {
    fn();
    return (setInterval(fn, t));
}

$(document).ready(function () {
    var type = 1;
    setIntervalAndExecute(function () {
        $('#animation-text img').each(function (i) {
            $(this).delay((i++) * 500).fadeTo(70, type);
        });
        type = (type + 1) % 2;
    }, 3000);


});
$(document).ready(function(){
var a=function(){
    $('#animation-text img').each(function(i) {
        $(this).delay((i++) * 100).fadeTo(900, 1);
    });
}


 var b=function(){
    $('#animation-text img').each(function(i) {
        $(this).hide()
    });
}
setInterval(a, 5000);
 setInterval(b, 8000);