Я пытаюсь создать баннер javascript. У меня есть 3 изображения внутри div с идентификаторами # 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, но попробовать diff stuffs я потерпел неудачу. Итак, что можно сделать, чтобы добавить задержку на несколько минут, а затем вызвать только следующую функцию, т.е. Я хочу, чтобы добавить задержку после $("#img3").fadeIn(AnimTime)
и после задержки вызывать только Show1()
функции
Я также выполнил свою работу с тем же решением. Я хотел бы знать, можно ли это сделать с помощью функции задержки jquery или нет? – KoolKabin
Несомненно. Вам просто нужно использовать .delay(), а затем другой метод, который позволяет обратный вызов. Но выше это простое и элегантное решение. Я не вижу причин использовать функцию задержки, когда это будет работать так же хорошо или лучше. – Squirkle