2013-11-23 3 views
0

Я пытаюсь остановить свою функцию, нажав div, но функция не остановлена! Какие ошибки я сделал? я пытаюсь изменить интервал для повторения моей функции, но это не работает (( Это мой кодФункция jquery не останавливается

Piano.anim = function(){ 
    var monitorGlich = true; 
    var interval = 100; 
    var $glich = $('.monitor-glich'); 
    if(monitorGlich){ 
     setInterval(function(e) { 
      setTimeout(function() { 
       $glich.addClass('active'); 
      },4000); 
      setTimeout(function() { 
       $glich.removeClass('active'); 
      },1000); 
     }, interval); 
    }else{ 
     $glich.removeClass('active'); 
    } 
    $(".monitor").click(function(){ 
     interval = 0; 
     monitorGlich = false; 
     console.log(interval); 
    }); 
}; 
+0

У вас есть код, завернутый в документ document.ready? –

ответ

0

Держите переменную (myIntVal = 0;) в глобальном масштабе и использовать его внутри вашей функции, как

myIntVal = setInterval(function(e) { 
    //... 
}, 4000); 

В $(".monitor").click(...) использовать что-то вроде

$(".monitor").click(function(){ 
    // ... 
    clearInterval(myIntVal); // clears the timer so loop stops 
}); 

Итак, setInterval остановится.

Смежные вопросы