<link rel="stylesheet" type="text/css" href="<%=basePath %>/ext-3.4/resources/css/ext-all.css">
<script type="text/javascript" src="<%=basePath%>/ext-3.4/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="<%=basePath%>/ext-3.4/ext-all-debug.js"></script>
<script type="text/javascript" src="<%=basePath%>/jsp/js/HelloWindow.js"></script>
<script type="text/javascript">
// 我们知道javascript提供的定时函数有setTimeout(指定时间后调用函数),setInterval(指定频率调用函数)等
// Ext的定时有Ext.util.DelayedTask类似setTimeout,Ext.util.TaskRunner类似java Thread功能,可以生成相互独立的任务或线程
var task = new Ext.util.DelayedTask(function(){
console.info(‘开始执行功能.....‘);
});
task.delay(1500);
// 下面演示DelayedTask如何接收参数
// 函数接收到参数对应参数数据组中的顺序
function catchSome(command1,command2,command3){
console.info(‘执行工作:‘+command1+‘,‘+command2+‘,‘+command3);
}
var task2 = new Ext.util.DelayedTask();
// 穿给函数的参数必须在数组中定义
var commands = [‘买牛奶‘,‘买报纸‘,‘接孩子‘];
task2.delay(
1500,//多久后执行
catchSome,//要执行的函数
this,//函数执行的范围,默认window
commands//参数
);
// Ext.util.TaskRunner用法如下
function sayHi(){
console.debug(‘Hi‘);
}
var task3 = {
run:sayHi,
interval:1000
};
// 实例化Taskrunner并调用start()以启动任务
var runner = new Ext.util.TaskRunner();
runner.start(task3);
// 也可以通过TaskMgr(任务管理器)类来启动
var i = 0;
function sayHello(){
if(i >= 10){
Ext.TaskMgr.stop(task4);
}
console.debug(‘stop say Hello‘);
i++;
}
var task4 = {
run:sayHello,
interval:1200
};
Ext.TaskMgr.start(task4);
</script>
时间: 2024-10-17 23:38:06