-1

私は、liが1秒ごとにクラスを変更するこのコードを持っています:

function getclient(FromClient) {
    var NewMsgLi = $("#FriendsList").find('li[id$=' + FromClient + ']');
    setInterval(function () {
        NewMsgLi.toggleClass("NewMsgClass");
    }, 1000);
}

function InitiateChat(ToClient) {
    $("#FriendsList").find('li[id$=' + ToClient + ']').removeClass("class");
}

ボタンをクリックするとInitiateChatが起動します FromClient と ToClient は基本的に同じIDですが、問題は「li」が正常に戻らないことです

4

3 に答える 3

1

clearIntervalを使用して間隔を削除できます

var intervalId;
function (FromClient) {
         var NewMsgLi = $("#FriendsList").find('li[id$=' + FromClient + ']');
         intervalId = setInterval(function () {
             NewMsgLi.toggleClass("NewMsgClass");
         }, 1000);

     }

function InitiateChat(ToClient) {
    if(intervalId){
        clearInterval(intervalId);
    }
    intervalId = false;
     $("#FriendsList").find('li[id$=' + ToClient + ']').removeClass("class");
 }
于 2013-03-05T15:05:59.690 に答える
0

clearInterval()関数を見てください。

于 2013-03-05T15:06:30.550 に答える
0

呼び出すことで間隔をクリアできます

var interval = setInterval(function() {
   //
}, 1000);
//
clearInterval(interval);
于 2013-03-05T15:06:48.553 に答える