2016-10-16 12 views
0

メッセージシステムに新しいメッセージが来たら、その関数を呼び出すと、この関数はsetIntervalのjqueryアニメーションによるスクロールを表示します。別の関数からの関数内のsetIntervalによるアニメーションの停止

今、私は別の機能を停止して、新しいメッセージがないかどうかチェックします。新しいメッセージがスクロールに来ている場合、更新中フラグを追加

function scroll(userID) { 
    $('.scroll'+userID).css('left','250px').show().html(''+ userID +' sent a new massage').animate({ 
     left: '-='+(250+149) 
     }, 2000, function() { 
     scrollt(userID); 
    }); 
window.Ccolor = setInterval(function(){$('.popup'+userID).css('background-color','red');}, 2000); 
} 

のsetIntervalによって、別の機能チェック、新しいメール

function update() { 
//code get userID have no new mail but scroll is running 
//on his minimize popup 

//want to stop scroll by uesrID 

//Tried 
clearInterval(Ccolor); //not work also can`t set userID 
} 
+0

サイドノート:mEssage; mAssageは別の言葉です:) – Utkanos

答えて

0

のために()関数を:

は私がスクロール表示するために、この関数を呼び出します()関数は、setIntervalの代わりにsetTimeoutを使用し、flagがtrueに設定されている場合はscroll scrollを呼び出します。

function scroll(userID) { 
     $('.scroll'+userID).css('left','250px').show().html(''+ userID +' sent a new massage').animate({ 
     left: '-='+(250+149) 
     }, 2000, function() { 
     scrollt(userID); 
    }); 
window.Ccolor = setTimeout(function(){$('.popup'+userID).css('background-color','red');}, 2000); 
} 
    function update() { 
    var flag=false; 
    //set flag=true is new message come 
    if(flag===true) 
    scroll(userId); 
    else 
    setTimeout(update,2000); 
    } 

userIdが新しいかどうかを知る独自のロジックを持っていると仮定しているか、html要素にdata- *属性を設定することもできます。

関連する問題