Javascript 如何使jquery无限重复循环
我正在尝试使用div中的图像实现jQuery infinte循环。我曾尝试使用setInterval函数来实现它,但问题是整个动画以3秒的延迟开始,我想要实现的是,动画在3秒后结束时会自动重复。我还尝试在.fadeTo之后执行回调函数,但它只应用于第一个图像,而不是整个动画 代码如下: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)
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();
});
您可以在此处找到更多详细信息-更新:
试试这个。它会立即启动并显示每一张图片。显示所有图像后(每个函数完成),我将
类型更改为0type
是不透明度的另一个词。所以下一次周围的图像会被隐藏起来
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);