function pageLoad() {
clearTimeout("MessagesTimer");
clearTimeout("NotificationsTimer");
var MessagesTimer = setTimeout("CheckMessages()", 15000);
var NotificationsTimer = setTimeout("CheckNotifications()", 15000);
}
在花了几个小时试图理解为什么它不起作用之后,我在这里问你们为什么在部分updatepanel回发之后这些计时器为什么无法清除?如果有完整的回发,计时器将重置,但是如果我得到了部分回发,则计时器将在不到15000ms的时间内触发,具体取决于以0ms触发的部分回发。
我该如何解决?谢谢
最佳答案
var MessagesTimer;
var NotificationsTimer;
function pageLoad() {
clearTimeout(MessagesTimer);
clearTimeout(NotificationsTimer);
MessagesTimer = setTimeout("CheckMessages()", 15000);
NotificationsTimer = setTimeout("CheckNotifications()", 15000);
}
从
clearTimeout
行中删除引号。将计时器的定义移到
pageLoad
函数之外。