没什么别的 只是想记录一下 不喜勿喷!!!
客户提出新需求,报表录入数据的时候每隔段时间页面弹出提示框,计时5秒,5秒后自动保存报表数据。
页面初始化的时候开始计时
//Extjs 定时任务
var task = {
run: function () {
//一小时后需要执行的方法
var tbar = Ext.getCmp('tbarYearDataReportSpread');
App.ReportCommon.CountDown(me, tbar, "Y");
},
interval: 3600000,//计时一小时(毫秒级)
};
var task1 = new Ext.util.TaskRunner();
task1.start(task);
一小时后执行js的倒计时保存,设置为一秒执行一次,js的这个函数运行完成后需要单独停止一下才可以clearInterval() 不然一直重复循环.
//倒计时
var s = 4;
var timer = window.setInterval(function () {
if (s < 0) {
//关闭弹出框
CountDownWindow.close();
//停止js计时函数
clearInterval(timer);
//倒计时完成执行的方法
App.ReportCommon.TemporaryReportData(me, tbar, type);
//div清空
var str = '';
$(document.getElementsByName("TimeCount")).html("" + str + "");
} else {
//div赋值
var str = '<h4 style="margin-left: 20px;">系统将在<span style="color:red">' + s + '</span>秒后自动保存数据,点击"取消"按钮,放弃保存操作。</h4>';
$(document.getElementsByName("TimeCount")).html("" + str + "");
s--;
}
}, 1000);
效果: