Не получается очистить таймер
Здравствуйте!
Есть такой код.Не получается очистить таймер.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, время: 04:12. |