如果您希望淡入淡出之间的间隔也是随机的,您可以使用这个:
$('.share').each(function(i) {
loopInfinitely($(this));
});
function loopInfinitely(elem) {
var rand = 1 + Math.floor(Math.random() * 7) * 1000;//max of random 7 seconds
setTimeout(function() {
elem.fadeIn(rand).delay(300).fadeOut(rand);
loopInfinitely(elem);
}, rand);
}
如果您还希望元素按顺序出现和消失,可以使用以下命令:
loopInfinitely($('.share'));
function loopInfinitely(elems) {
var rand = 1 + Math.floor(Math.random() * 7) * 1000;//max of random 7 seconds
setTimeout(function() {
var i = 0;
(function advanceElem() {
if (elems.length <= i) {
loopInfinitely(elems);
return;
}
elems.eq(i).fadeIn(rand).delay(300).fadeOut(rand);
setTimeout(advanceElem, rand*2+300);
i++;
})();
}, rand);
}
让我知道这是如何工作的。