Я использую jQuery для прослушивания события DOMSubtreeModified, а затем выполняю функцию. Что мне нужно, так это способ запускать функцию только один раз за пакет событий. Таким образом, в этом случае событие будет запущено только через 1 секунду и снова через 3 секунды. Как лучше всего это сделать?
jQuery
$(function(){
setTimeout(function(){
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
},1000);
setTimeout(function(){
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
$('#container')[0].innerHTML = 'test';
},3000);
$('#container').bind('DOMSubtreeModified',function(){
console.log('event');
functionToRun();
});
});
HTML
<div id="container"></div>
Обновление
Функция setTimeout предназначена только для имитации моей проблемы. Мне нужно решение без изменения кода setTimeout. Проблема, с которой я сталкиваюсь, заключается в том, что я получаю пакет событий DOMSubtreeModified, и мне нужно получить только один пакет для каждого пакета.
setTimeout
это не то, о чем вы спрашиваете. Вы хотите знать, как изменить элемент 6 раз, но запуститьfunctionToRun
только один раз, это правильно? - person Crescent Fresh   schedule 19.09.2009