我正在创建一个带有几个吉祥物的网站,并将实现一个“眨眼计时器”,使每个吉祥物都能眨眼。
我的问题是:如何在任意语言上实现(以及持续多久?)闪烁和闪烁之间的延迟,(我可能会使用JavaScript,但现在并不重要)。
是否有关于“眨眼算法”或类似内容的资源?
编辑:我知道如何使用setTimeout和setInterval,我的问题更多的是关于算法而不是实现本身。
最终结果:
var blink = {
delay: function() {
return Math.random() * 8000 + 2000;
},
duration: function() {
return 100 + Math.floor(Math.random() * 100);
},
blinkAgain: function() {
return (Math.random() < .2);
},
betweenBliks: function() {
return blink.duration() / 2;
}
};
$.fn.blink = function(continueBlinking) {
var $element = $(this);
// Star the blink
$element.addClass('blink');
// Finish the blink
setTimeout(function() {
$element.removeClass('blink');
// Change of blinking again
if (blink.blinkAgain()) {
setTimeout(function() {
$element.blink(false);
}, blink.betweenBliks());
}
}, blink.duration());
// Continue blinking?
if (continueBlinking) {
setTimeout(function() {
$element.blink(true);
}, blink.delay());
}
};
setInterval
是一个 JavaScript 函数,它会按照指定的时间间隔重复执行一个指定的函数或代码块。这个函数接受两个参数:要执行的函数或代码块,以及每次执行之间的毫秒数延迟时间。setInterval
返回一个唯一的 ID 值,可以用于后续取消定时器。 - Blazemonger