如何终止Jquery setIntereval?
我正在尝试终止刷新我的页面的 setIntreval 。但cleareIntreval() 对我不起作用。
我有
$chatInterval = setInterval(function(){
$.post('user/home/show_conversation.php',{ f_id : userID},function(ajaxCevap){
$('#chatbox').html(ajaxCevap);
$('#chatbox').scrollTop = $('#chatbox').scrollHeight;
});
},10000);
,当我单击按钮时,我使用 clearInterval($chatInterval);
但它说 $chatInterval 未定义。是的,它们在不同的函数范围内。我如何声明公共变量setInterval?
I am trying to terminate setIntreval that refresh my page. But cleareIntreval() not work for me.
I have
$chatInterval = setInterval(function(){
$.post('user/home/show_conversation.php',{ f_id : userID},function(ajaxCevap){
$('#chatbox').html(ajaxCevap);
$('#chatbox').scrollTop = $('#chatbox').scrollHeight;
});
},10000);
And when I click button I use clearInterval($chatInterval);
But is says that $chatInterval not defined. yes Those are in different function scope.How can I declare common variable setInterval?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您在那里有一个拼写错误,并确保您创建的变量
$chatInterval
位于您调用clearInterval()
的位置范围内。如果您需要在两者均可访问的范围内声明变量,请在顶层声明它,或者使用 jQuery 的
.data()
方法将其存储在某个元素上:http://api.jquery.com/data/You have a typo there, and make sure the variable you created
$chatInterval
is in the scope of the location you callclearInterval()
from.If you need to declare the variable in a scope accessible to both, either declare it at the top-level or store it on an element somewhere using the
.data()
method of jQuery: http://api.jquery.com/data/我解决了从
现在删除 $ 元素的问题,我可以在任何函数中调用它。
I solved it deleting $ element from
Now I can call it in any function.