Поместите свой код в 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/