在jquery中停止setinterval

时间:2013-03-05 15:03:37

标签: javascript jquery

我有这个代码,每隔一秒让它改变它类:

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'没有恢复正常任何想法我做错了

3 个答案:

答案 0 :(得分: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");
 }

答案 1 :(得分:0)

查看clearInterval()函数。

答案 2 :(得分:0)

您可以通过调用

来清除间隔
var interval = setInterval(function() {
   //
}, 1000);
//
clearInterval(interval);