【JavaScript高级程序设计】25、定时器
1、JavaScript定时器
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>JavaScript的定时器功能</title>
</head>
<body>
<button id = "mybut" type="button">这是一个按钮</button>
<div id = "divv"></div>
<script type="text/javascript">
//获取按钮
var but = document.getElementById('mybut');
//每当点击一次按钮页面就出现一段话,1秒之后
but.onclick = function(){
setTimeout(function(){
var date = new Date();
alert("今天是" + date.getFullYear() + "年");
}, 3000);
};
</script>
</body>
</html>
执行结果:


2、定时器避免重复执行
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Yielding processes定时器,数组分块</title>
</head>
<body>
<div id="myDiv" style="background:yellow;"></div>
<input type="button" value="测试" style="background:green;"></input>
<script type="text/javascript">
var data = [12,123,1234,453,436,23,23,5,4123,45,346,5634,2234,345,342];
//添加div函数
function printButton(item)
{
//获取到将要用来执行的div
var mydiv = document.getElementById("myDiv");
mydiv.innerHTML += "<input type='button' value="+ item +"></input><br>";
}
//定时器函数
function chunk(data, process, context)
{
setTimeout(function(){
//每次取出一个数
var item = data.shift();
process.call(context, item);
//定时执行完成,队列添加新定时器
if(data.length > 0)
{
//定时终止条件
setTimeout(arguments.callee, 2000);
}
}, 200);
}
chunk(data, printButton);
</script>
</body>
</html>
避免重复定时器






浙公网安备 33010602011771号