-1

我有这段代码可以让 li 每隔一秒更改一次它的类:

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 回答