Поместите свой код внутри setInterval
:
$(function () {
setInterval(function () {
$('#abovelogo').fadeIn(1000).delay(2000).fadeOut(1500).delay(2000).fadeIn(1500);
}, 5000);
});
Поскольку вы будете выполнять это, пока страница активна, вы должны сделать все возможное, чтобы оптимизировать свой код, например, вы можете кэшировать выбор вне интервала:
$(function () {
var $element = $('#abovelogo');
setInterval(function () {
$element.fadeIn(1000).delay(2000).fadeOut(1500).delay(2000).fadeIn(1500);
}, 5000);
});
Документы для setInterval
: https://developer.mozilla.org/en/window.setInterval
Кроме того, вместо использования .delay()
вы можете использовать функции обратного вызова в каждой анимации для вызова одной анимации за другой:
$(function () {
var $element = $('#abovelogo');
setInterval(function () {
$element.fadeIn(1000, function () {
$element.fadeOut(1500, function () {
$element.fadeIn(1500)
});
});
}, 5000);
});
Вот демонстрация: http://jsfiddle.net/xsATz/
Вы также можете использовать setTimeout
и рекурсивно вызывать функцию:
$(function () {
var $element = $('#abovelogo');
function fadeInOut () {
$element.fadeIn(1000, function () {
$element.fadeOut(1500, function () {
$element.fadeIn(1500, function () {
setTimeout(fadeInOut, 500);
});
});
});
}
fadeInOut();
});
Вот демонстрация: http://jsfiddle.net/xsATz/1/
person
Jasper
schedule
16.02.2012