我有一个评论系统,用户可以发表评论,并且可以在该评论上删除回复。由于评论系统主要是联系我决定将查询抓取单独的php文件(ajax / asr.php),然后使用setInterval
函数定期加载此文件,以便用户看到新的评论
<script type="text/javascript">
setInterval(function() {
$('.responses').load('ajax/asr.php',{id:<?PHP echo $id?>});
},1000);
</script>
每个评论都有一个回复按钮,显示回复表单。
我的问题是:每当我决定回复评论时,由于setInterval
,回复表单很快就会消失。我希望setInterval
在用户点击回复按钮时暂停,然后在他回复(提交回复表单)后,它可以继续。
答案 0 :(得分:0)
setInterval
函数返回一个值,该值是对该特定计时器的引用。您可以使用此功能传递给clearInterval
函数(https://developer.mozilla.org/en-US/docs/Web/API/Window.clearInterval),然后该函数将停止该间隔。
因此,在上面的代码中,您可以将setInterval函数的返回值分配给您可以从任何需要的位置访问的变量(例如全局变量)。然后,当您打开编辑表单时,您可以清除该间隔。
当然,当你完成或取消评论时,你需要重新启动间隔计时器(当然这已经被移到了一个方便的功能中)。