如何在一个元素动画后延迟?
How to delay after one element animation?
我有一个幻灯片放映,其中一些项目和图像通过 jquery 动画进入我的幻灯片放映,这是我的代码:
$("#item-1").animate({left:100},1000,function(){
$("#item-2").animate({left:250},2000, function(){
//I want below Item come with a long delay, I mean a delay after #item-2
$("#item-3").animate({left:100},1250)
})
});
如何做延时?
对于以毫秒为单位指定的延迟,请使用 setTimeout
:
$("#item-1").animate({left:100},1000,function(){
$("#item-2").animate({left:250},2000, function(){
setTimeout(function(){
$("#item-3").animate({left:100},1250)
}, 2000);
})
});
setTimeout
基本上说:"perform this function (first parameter), after the specified amount of time (second parameter)"
使用 jQuery setTimeOut 函数实现:
$("#item-1").animate({left:100},1000,function(){
$("#item-2").animate({left:250},2000, function(){
//I want below Item come with a long delay, I mean a delay after #item-2
//Trigerring function after specific time .
setTimeout(function(){
$("#item-3").animate({left:350},1250)
}, 2000);
})
});
div{
color:red;
position:absolute;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="item-1">one</div>
<div id="item-2">two</div>
<div id="item-3">three</div>
jQuery有一个方法可以解决这个问题,具体与动画队列有关:
下面的工作示例(在我的控制台中):
$("#item-1").animate({left:100},1000,function(){
$("#item-2").animate({left:250},2000, function(){
//I want below Item come with a long delay, I mean a delay after #item-2
$("#item-3").delay(2000).animate({left:100},1250)
})
});
我有一个幻灯片放映,其中一些项目和图像通过 jquery 动画进入我的幻灯片放映,这是我的代码:
$("#item-1").animate({left:100},1000,function(){
$("#item-2").animate({left:250},2000, function(){
//I want below Item come with a long delay, I mean a delay after #item-2
$("#item-3").animate({left:100},1250)
})
});
如何做延时?
对于以毫秒为单位指定的延迟,请使用 setTimeout
:
$("#item-1").animate({left:100},1000,function(){
$("#item-2").animate({left:250},2000, function(){
setTimeout(function(){
$("#item-3").animate({left:100},1250)
}, 2000);
})
});
setTimeout
基本上说:"perform this function (first parameter), after the specified amount of time (second parameter)"
使用 jQuery setTimeOut 函数实现:
$("#item-1").animate({left:100},1000,function(){
$("#item-2").animate({left:250},2000, function(){
//I want below Item come with a long delay, I mean a delay after #item-2
//Trigerring function after specific time .
setTimeout(function(){
$("#item-3").animate({left:350},1250)
}, 2000);
})
});
div{
color:red;
position:absolute;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="item-1">one</div>
<div id="item-2">two</div>
<div id="item-3">three</div>
jQuery有一个方法可以解决这个问题,具体与动画队列有关:
下面的工作示例(在我的控制台中):
$("#item-1").animate({left:100},1000,function(){
$("#item-2").animate({left:250},2000, function(){
//I want below Item come with a long delay, I mean a delay after #item-2
$("#item-3").delay(2000).animate({left:100},1250)
})
});