很实用的一个js模拟sleep方法。
当我们在一个js的方法里面,执行一部分代码后,需要让js暂停一断时间,然后再继续向下运行的时候,或者你会想到java的线程sleep(),但js 里面没有暂停的函数,所以要自己实现一个,具体方法看下面的:
使用方法很简单:
function testJsStop(){
alert("1");
Pause(this,2000);//2秒钟扣执行nextstep事件。。这样就可以设置下一个方法执行的开始时间
this.NextStep=function(){
alert("2");
}
}
完整实例(1秒钟扣执行nextstep事件。。这样就可以设置下一个方法执行的开始时间)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>javascript模拟sleep http://www.86y.org幸凡在线学习,网页设计,技术交流区,在线学习网,免费视频教程</title>
</head>
<body>
<script>
function Pause(obj,iMinSecond){
if (window.eventList==null) window.eventList=new Array();
var ind=-1;
for (var i=0;i<window.eventList.length;i++){
if (window.eventList[i]==null) {
window.eventList[i]=obj;
ind=i;
break;
}
}
if (ind==-1){
ind=window.eventList.length;
window.eventList[ind]=obj;
}
setTimeout("GoOn(" + ind + ")",iMinSecond);
}
//js继续函数
function GoOn(ind){
var obj=window.eventList[ind];
window.eventList[ind]=null;
if (obj.NextStep) obj.NextStep();
else obj();
}
function testJsStop(){
alert("1");
Pause(this,2000);//2秒钟扣执行nextstep事件。。这样就可以设置下一个方法执行的开始时间
this.NextStep=function(){
alert("2");
}
}
testJsStop();
</script>
</body>
</html>
(完)
大家有什么问题或技术上的想法可以在此与大家分享,也可以加入前端爱好者QQ群(141999928)一起学习进步:
【幸凡前端技术交流群】
如果您觉得本文的内容对您的学习有所帮助,捐赠与共勉,支付宝(左)或微信(右)