Я использую jQuery для прослушивания события DOMSubtreeModified, а затем выполняю функцию. То, что мне нужно, - это способ запускать только одну функцию за один пакет событий. Таким образом, в этом случае событие будет работать только через 1 секунду и снова через 3 секунды. Каков наилучший способ сделать это?
Запуск функции один раз для пакета событий с jQuery
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>
Update
Функция SetTimeout существуют только эмулировать мою проблему. Мне нужно решение без изменения кода setTimeout. Проблема, с которой я сталкиваюсь, заключается в том, что я получаю всплеск событий DOMSubtreeModified, и мне нужно получить только один пакет.
Если я правильно понимаю, материал 'setTimeout' - это не то, о чем вы спрашиваете. Вы хотите знать, как изменить элемент 6 раз, но функция 'functionToRun' запускается только один раз, это правильно? –
yes :) –