如何在调用下一个回调函数之前添加延迟? [英] How to add delay before calling next call back function?
本文介绍了如何在调用下一个回调函数之前添加延迟?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试制作一个javascript横幅。我在div中有3个图像,其中包含ID#img1,#img2 n#img3。
I am trying to make a javascript banner. I have 3 images inside a div with ids #img1, #img2 n #img3.
<script src="scripts/jquery-latest.min.js" type="text/javascript"></script>
<script>
var AnimState = true;
var AnimTime = 2000;
var AnimDelay = 3000;
$(document).ready( function()
{
$('#image img').hide();
$('#img3').show();
Show1();
});
function Show1()
{
if( AnimState === true )
{
$("#img3").fadeOut(AnimTime);
$("#img1").fadeIn(AnimTime, Show2);
}
}
function Show2()
{
if( AnimState === true )
{
$("#img1").fadeOut(AnimTime);
$("#img2").fadeIn(AnimTime, Show3);
}
}
function Show3()
{
if( AnimState === true )
{
$("#img2").fadeOut(AnimTime);
$("#img3").fadeIn(AnimTime, Show1);
}
}
$('#btn1').click( function()
{
AnimState = !AnimState;
Show1();
});
</script>
一切正常。唯一的问题是,现在我想在fadein效果之后添加延迟,但尝试差异我失败了。那么可以做些什么来增加几分钟的延迟然后只调用下一个函数即。我想在 $(#img3)之后添加延迟.fadeIn(AnimTime)
并且在延迟之后只调用 Show1()
功能
It works fine. The only thing is that now i want to add the delay after fadein effect but trying diff stuffs i failed. So what can be done to add delay for few mins and then only call next function ie. I want to add delay after $("#img3").fadeIn(AnimTime)
and after delay only call Show1()
function
推荐答案
好的,试试吧。动画制作完成后:
Okay, try this. After your animations:
$("#img1").fadeOut(AnimTime);
$("#img2").fadeIn(AnimTime);
setTimeout(Show3, 30000); //delays next call for 30 seconds
这篇关于如何在调用下一个回调函数之前添加延迟?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文