我有这段代码,我遇到的问题是我想停止循环,然后替换文本“完成!” 它来自带有“textnew”字符串的 sms-loader.php 脚本。问题是循环再次发生,因此 div.checkstatus 字段中的文本再次被调用 php 脚本替换。
奇怪的是,我看到了日志消息,并再次收到一个新的(也是最终的)请求,尽管我的脚本中的顺序相反(首先停止然后替换 text())。我需要了解为什么会这样。
$(document).ready(function() {
var interval = "";
$('.checkstatus').each(function(){
var msgid = $(this).data('msg')
$this = $(this),
hid = $this.data('history'),
textnew = '<a href="sms-dstatus.php?id='+msgid+'&sid=' +hid+ '&keepThis=true&TB_iframe=true&height=430&width=770" title="Delivery Status" class="thickbox"><img src="../template/icons/supermini/chart_curve.png" alt="status" width="16" height="16" /></a>';
interval = setInterval(function() {
$this.load('../pages/sms-loader.php?id='+msgid);
// stop the loop
if($this.text()=='Done!'){
// stop it
clearInterval(interval);
console.log(textnew);
$this.html(textnew); /// this line is the problem
}
}, 5000); // 5 secs
});
});