Я создаю этот веб-сайт с несколькими талисманами, и я реализую «таймер моргания глаз», где я заставлю каждый талисман моргать.
У меня вопрос: как реализовать (и как долго?) задержку между морганиями и самим морганием на любом языке (вероятно, я буду использовать 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());
}
};
<blink>
, и меня бросает в дрожь. - person adeneo   schedule 04.09.2012