2015-02-03 5 views
0

Это условие setIntervalIdMessages == 0 сделать setInterval не работает я не знаю, почемуSetInterval не работает с Если условие

Это все условия, которые делают setInterval не работать

if (NewMessageCounter > 0 && setIntervalIdMessages == 0) 

Это работает if (NewMessageCounter > 0)

Я вижу в crhome отлаживать, что значение setIntervalIdMessages равно 0 и является видеть, что линия setInterval код exeuting

var setIntervalIdMessages = 0; 

    $.ajax({ 
      url: '/P/GetC', 
      type: "POST",   
      dataType: 'json', 
      success: function (counters) { 

       var NewMessageCounter = parseInt(counters.NewMessageCounter, 10); 
       var NewWatchedMeCounter = parseInt(counters.NewWatchedMeCounter, 10); 


       var glower = $('.glowDiv'); 

       if (NewMessageCounter > 0 && setIntervalIdMessages == 0) { 

        $('#UserMessagesDiv').addClass('glowDiv'); 

        setIntervalIdMessages = window.setInterval(function() { 
         glower.toggleClass('active'); 
        }, 500); 

       } 


     }); 
+1

Является 'glower' определена в этой точке? Я вижу, что вы только делаете 'addClass ('glowDiv')' после попытки получить его раньше. Сделайте 'console.log (glower)' внутри функции setinterval, чтобы увидеть, имеет ли оно значение. –

+0

Проблема, скорее всего, в ваших строках ... 'var NewMessageCounter = parseInt (counters.NewMessageCounter, 10);' или 'var NewWatchedMeCounter = parseInt (counters.NewWatchedMeCounter, 10);'. Вы должны лучше проверить, какие значения переменных «NewMessageCounter» и «NewWatchedMeCounter». –

ответ

0

я думаю, your code should work fine, может быть проверить if condition if it is satisfying or not.

небольшой демо:

var NewMessageCounter= 4; 
 
var setIntervalIdMessages = 0; 
 
var glower = $('.glowDiv'); 
 
if(NewMessageCounter > 0 && setIntervalIdMessages == 0){//your condition comes here 
 
\t setIntervalIdMessages = window.setInterval(function() { 
 
     glower.toggleClass('active'); 
 
    }, 500); 
 

 
}
.active{ 
 
    color:blue; 
 
    }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="glowDiv"> 
 
    text here 
 
</div>