Не получается очистить таймер
Здравствуйте!
Есть такой код.Не получается очистить таймер.left уезжает в бесконечность.Плюс при повторном вызове onclick (клик по диву) анимация ускоряется.Подскажите как это можно исправить? window.onload = function(){ var contpos = document.getElementById("contpos"); var b1 = document.getElementById("b1"); b1.onclick = myclick1; } function myclick1(){ var timer1 = setInterval(animate1,15); } function animate1(){ var left = parseInt(contpos.style.left); left+=10; contpos.style.left = left + "px"; if(left == 100){ clearInterval(timer1); } } |
x3zone,
Вынести var timer1 - в глобальную область видимости - вне функций Либо запускать функцию очистки из функции с видимостью var timer1 var timer1; function myclick1(){ timer1 = setInterval(animate1,15); } |
Спасибо!Работает!А как сделать что бы до конца анимации объект не реагировал на повторный вызов события onclick?
|
window.onload = function(){ var contpos = document.getElementById("contpos"); var b1 = document.getElementById("b1"); b1.onclick = myclick1; } var timer1; var StopClick=false; function myclick1(){ if(!StopClick){StopClick=true; timer1 = setInterval(animate1,15); }} function animate1(){ var left = parseInt(contpos.style.left); left+=10; contpos.style.left = left + "px"; if(left == 100){ StopClick=false; clearInterval(timer1); } } |
Спасибо!
|
Часовой пояс GMT +3, время: 00:50. |