Каков наиболее рекомендуемый/лучший способ остановить создание нескольких экземпляров функции setTimeout (в javascript)?Как вы обрабатываете несколько экземпляров setTimeout()?
Пример (псевдо-код):
function mouseClick()
{
moveDiv("div_0001", mouseX, mouseY);
}
function moveDiv(objID, destX, destY)
{
//some code that moves the div closer to destination
...
...
...
setTimeout("moveDiv(objID, destX, destY)", 1000);
...
...
...
}
Моя проблема заключается в том, что если пользователь щелкает мышью несколько раз, у меня есть несколько экземпляров moveDiv() вызывался.
Опция, которую я видел, заключается в создании флага, который позволяет только вызывать таймаут, если другой экземпляр недоступен ... это лучший способ пойти?
Я надеюсь, что проясняет ....
Ух, на самом деле, ваш код действительно не подавляет несколько «потоков» таймаута. (Обратите внимание, как тайм-аут в вопросе рекурсивный.) Больше необходимо. ;) – 2008-11-24 19:28:29
Во всяком случае, это была очень полезная логика, спасибо – 2017-06-01 13:04:50