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函数之外。

07-24 18:28