Вы можете использовать setTimeout
для отсрочки выполнения некоторого кода на определенное количество миллисекунд.Чтобы получить мигающее поведение, вы можете установить стиль таким, каким он сейчас не является (я устанавливаю классы в моем примере, но вы можете реализовать его любым другим способом, конечно) и установить новое время ожидания дляследующее изменение.
Мой пример .
var elapsed = 0;
var interval = 250;
var duration = 3000;
function toggle(element) {
var newClass = element.className == 'highlight' ? '' : 'highlight';
element.className = newClass;
elapsed += interval;
if(elapsed < duration)
setTimeout(function() { toggle(element); }, interval);
}
var element = document.getElementById('cell');
toggle(element);
Здесь я использую переменные duration
, чтобы установить желаемую продолжительность всей мигающей анимации, elapsed
для отслеживания продолжительности мигания (пороговое значение для сравнения с duration
) и interval
для установки расстояния между каждой вспышкой / переключателем.
Функция toggle
задает имя класса highlight
или вообще ничего, в зависимости от того, чем оно в данный момент не является, чтобы получить альтернативное поведение.Учитывая, что duration
не был превышен, toggle
снова включается через interval
миллисекунд.
Обратите внимание, что я использую getElementById
для идентификации интересующей ячейки.Если это не подходит для вас, вы можете использовать getElementsByTagName
.Например, table.getElementsByTagName('tr')[0].getElementsByTagName('td')[2]
получит третий столбец первой строки в таблице.