将您的代码放入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/