Да, есть функция delay
именно для этого.
$('.fader1').hide().fadeIn(3000);
$('.fader2').hide().delay(1000).fadeIn(9000);
$('.fader3').hide().delay(2000).fadeIn(6000);
Это начинает их на расстоянии одной секунды.
Живой пример (с использованием слегка не по теме обновления ниже и немного отличающихся времен задержки, но вы поняли)
Не по теме : думаю, я бы спрятал изображения раньше, чем window.onload
. Это сработает только тогда, когда каждая последняя вещь полностью загружена, так что, как сейчас, в общем и целом изображения будут появляться, затем исчезать, а затем исчезать.
Вы можете подумать о том, чтобы сделать это прямо в верхней части элемента <body>
:
<body>
<script>document.body.className = "loading";</script>
и добавление этого CSS:
body.loading .fader1, body.loading .fader2, body.loading .fader3 {
display: none;
}
тогда
jQuery(function($) {
$(window).load(function() {
$('body').removeClass("loading");
$('.fader1').hide().fadeIn(3000);
$('.fader2').hide().delay(1000).fadeIn(9000);
$('.fader3').hide().delay(2000).fadeIn(6000);
});
});
... или аналогичный.