您可以使用.queue()
,.promise()
,.delay()
,setTimeout()
function toggleCollection(elems, duration, wait) {
return elems.queue("toggle", $.map(elems, function(el) {
return function(next) {
return $(el).delay(duration).toggle(duration).promise().then(function() {
$(this).delay(wait /* or duration */).toggle(duration)
.promise().then(function() {
setTimeout(next, wait)
})
})
}
})).dequeue("toggle").promise("toggle");
}
toggleCollection($("body > div").hide(), 3000, 1000 * 60 * 60)
.then(function(elems) {
console.log("complete", elems);
// toggle collection again
// toggleCollection(elems, 3000, 1000 * 60 * 60)
});
你尝试过什么?所有的步骤都很容易研究,并且您期望显示您尝试自己解决您的问题。这不是代码编写服务 – charlietfl
请参阅http://stackoverflow.com/questions/39682019/body-background-based-on-hour-of-the-day-js,http://stackoverflow.com/questions/ 31763469 /如何去除的-A-元件期间-A-范围-的-日期/ – guest271314