Php Setinterval工作不正常

Php Setinterval工作不正常,php,jquery,Php,Jquery,如果我将setinterval与字符串一起使用,那么它可以正常工作,但它也会加载与onclick设置的上一个idcityid相关的聊天。而secreen在new click上与new-id-CityID相关的聊天和previous id之间每隔一秒钟就会进行一次洗牌。如果计时器是按previous id运行的,我想停止计时器,只获取与new-id相关的聊天,这样只会显示与new-id相关的new-chat Plz帮助,任何替代方法也将被告知 Php onclick在这里

如果我将setinterval与字符串一起使用,那么它可以正常工作,但它也会加载与onclick设置的上一个idcityid相关的聊天。而secreen在new click上与new-id-CityID相关的聊天和previous id之间每隔一秒钟就会进行一次洗牌。如果计时器是按previous id运行的,我想停止计时器,只获取与new-id相关的聊天,这样只会显示与new-id相关的new-chat

Plz帮助,任何替代方法也将被告知

Php onclick在这里

            echo "<A href='#'  onclick=allccityid('$comid','$comname',$cityid,'$cities');>$cities</A><br> ";
不过,我也用这种方法尝试了setinterval,但它不能工作刷新。我必须向chatcom_load函数传递两个参数

setInterval(chatcom_load(comid, cityid), 1000)
这会立即调用chatcom_load函数,然后将结果传递给setInterval

您需要向setInterval传递一个函数,如下所示:

setInterval(function() { chatcom_load(comid, cityid); },
setInterval只接受一个函数调用,您的代码正在执行该方法并传递结果。您需要将方法包装在函数{}中。您还需要参考当前间隔,并在设置为防止前一个值继续加载时取消该间隔:

var si;
function all(comid,comname,cityid,cname){
    if (si) clearInterval(si);
    si = setInterval(function(){ chatcom_load(comid, cityid); }, 1000);
}

还需要添加对setInterval的引用,以便可以为新值取消和重新启动它。@doublesharp,感谢您的快速响应,我如何才能取消它并为新值重新启动。这是我的主要问题?@SidraNaeem查看我的答案-您需要在全局变量中引用setInterval的结果才能清除它,谢谢,它工作得很好,但是现在获取聊天的速度非常慢。更新聊天窗口需要更长的时间。整个聊天系统现在看起来非常沉重。这可能需要一个新问题-有很多原因导致您的聊天系统运行缓慢。。。
setInterval(function() { chatcom_load(comid, cityid); },
var si;
function all(comid,comname,cityid,cname){
    if (si) clearInterval(si);
    si = setInterval(function(){ chatcom_load(comid, cityid); }, 1000);
}