我有一个秒表功能,可以通过开始/停止按钮切换.按下停止按钮时,计时器停止,jQuery将一行插入预先加载到页面上的表中.
我在后台运行另一个jQuery脚本,不断更新该表以维护新数据.它本质上是一个计时员.
但是,我遇到的问题是当用户按下停止按钮时,setInterval加载继续运行,导致添加的jquery字段消失.
我已经尝试添加一个变量来检查停止按钮是否被按下,如果是,则停止事件...但由于它已经加载到DOM中,它似乎不起作用.这是当前的代码:
$.ajax({
url: 'getData.php',
success: function(data) {
$("#timesheet").html(data);
}
});
var refreshId = setInterval(function() {
$.ajax({
url: 'getData.php?randval='+ Math.random(),
success: function(data) {
$("#timesheet").html(data);
}
});
}, 9000);
Run Code Online (Sandbox Code Playgroud)
这是ajax加载的HTML数据:
<table>
<tr><th>Test</th></tr>
<tr><td>Test</td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)
我也试过在tr:last上使用append,但是只是将它附加到tr ...而不是创建一个新的tr.
TL; DR:我希望setInterval不会覆盖按下按钮时jQuery添加的字段,但似乎不能这样做,因为它被编码以更改整个表.
谢谢你的任何建议.