Arramis
Новичок
как остановить выполнение обработчика события из другого обработчика этого же события ?? я делаю плеер нужно чтобы на кнопу play проигрывание останавливалось а на pause обратно включалось, у меня сложность в том что обработчик проигрывания выполняется рекурсивно и он останавливается только тогда когда сам этого захочет - никакие e.preventDefault() и e.stopImmediatePropagation() не помогли...
тоесть мне нужно чтобы рекурсия прерывалась на клике на ту же кнопку что и запуска обработчика (в котором запускается эта рекурсивно работающая функция) - кусок нужного кода
трейтий день ломаю голову, помогите пожалуйста ((
тоесть мне нужно чтобы рекурсия прерывалась на клике на ту же кнопку что и запуска обработчика (в котором запускается эта рекурсивно работающая функция) - кусок нужного кода
PHP:
var buttonPlay = document.getElementById("button_play");
function addHandler(sourceNode) {
var runCycle = function(callback, timer) { // эта функция рекурсивно запускает проигрывание
if (index < pics.length) {
sourceNode.src = "buttons/button_pause.png";
setTimeout (function() {
callback();
runCycle(callback, timer);
}, timer);
}
else {
sourceNode.src = "buttons/button_play.png";
}
}
sourceNode.onclick = function() { runCycle(playNext, 1000); } // вешаем обработчик на onclick
//теперь как остановить runCycle(playNext, 1000) кликнут на тот же SourceNode ????
/*
** тоесть нужно сделать что - то типо :
if (проигрывается) остановить; else продолжить проигрывание;
**
*/
}
addHandler(buttonPlay);
HTML:
<img name = "button_play!" id = "button_play" src = "buttons/button_play.png" alt = 'button'>