作家
登录

关于JS控制代码暂停的实现方法分享

作者: 来源:www.28hudong.com 2013-03-30 00:22:11 阅读 我要评论

方法一:这是在网上找的一个方法,可以用。但说实话,这个方法我不怎么明白。。。写得好复杂。这样做跟setTimeout能有多大区别? 复制代码 代码如下: 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); } 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, 3000); this.NextStep = function () { alert( "2"); } } 方法二:这也是在网上找的,可以用。它的原理是先弹出一个窗口,因为JS在弹出窗口时,代码会在当前位置暂停执行。等过了一段时间后再执行关闭窗口函数,代码继续执行。这中方法非常简单,但令人讨厌的是它会弹出一个窗口。。。 复制代码 代码如下: function pause(numberMillis) { addcloud(); var dialogScript = 'window.setTimeout(' + ' function () { $("#bgDiv").remove(); }, ' + numberMillis + ');'; var result = window.showModalDialog('javascript:document.writeln(' + '"<script>' + dialogScript + '<' + '/script>")' ); } function test() { var a = 0; alert(a); pause(5000); a = 999; alert(a); } 方法三:这个方法是我自己写的。因为我要实现的功能比较复杂,要循环调用getpath()方法。而前面的两种方法都只能应用在顺序执行的代码段中,无法控制循环。在这里我采用了前后台结合的方法。在前台通过Ajax调用后台方法,直接将线程挂起1s,成而实现JS代码强制暂停。 前台JS: 复制代码 代码如下: function getpath() { var time = 1000; $.ajaxSettings.async = false; $.getJSON( "../Actions/TspHandler.ashx?rKey=" + parseInt(Math.random() * 999 + 1).toString() + "&opKey=Sleep" + "&Time=" + time, null, function (json) { }); .......... } 后台ashx: 复制代码 代码如下: if (methodname == "Sleep" )//休眠 { int time = int .Parse(req["Time"].ToString()); System.Threading. Thread.Sleep(time); } 以上仅供大家参考,欢迎吐槽!

  推荐阅读

  javascript测试题练习代码

1、给你一个字符串,要你找出里面出现次数最多的字母和出现的次数,例如:“abaasdffggghhjjkkgfddsssss”; 复制代码 代码如下: var str = "abaasdffggghhjjkkgfddsssss"; var arr = new Array(); var i = 0; whi>>>详细阅读


本文标题:关于JS控制代码暂停的实现方法分享

地址:http://www.17bianji.com/kaifa2/JS/23036.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)