Я использую плагин jQuery Countdown для реализации обратного отсчета и вызова веб-службы по истечении таймера.
Проблема в том, что я использую AJAX на странице, и мне приходится переустанавливать обратный отсчет при каждом запросе AJAX следующим образом:
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(SetupTimer);
/*Initial setup*/
$(document).ready(function() {
SetupTimer();
});
function SetupTimer() {
var serverTime = new Date();
var cutoffTime = new Date($("#<%= cutoffTime.ClientID %>").val());
serverTime.setHours(serverTime.getHours());
if (serverTime < cutoffTime) {
$('#timer').countdown('destroy'); /*should work, but doesn't*/
$('#timer').countdown({ until: cutoffTime, serverTime: serverTime, onExpiry: OrderingEnded, format: 'yowdHMS' });
}
else
OrderingEnded();
}
По какой-то причине это создает новый экземпляр обратного отсчета при каждом запросе, что приводит к многочисленным вызовам Webservice, когда истекает обратный отсчет.
Как мне убедиться, что одновременно существует только один экземпляр Обратного отсчета?
EDIT
нашел это в документации, но не делает это для меня
$('#timer').countdown('destroy');