您好,登錄后才能下訂單哦!
這篇文章主要講解了“怎么實現javascript暫停功能”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么實現javascript暫停功能”吧!
實現javascript暫停功能的方法:【function sleep(obj,iMinSecond){ if (window.eventList==null) window.eventList=new Array(); var ...】。
本文操作環境:windows10系統、javascript 1.8.5、thinkpad t480電腦。
我們知道javascript本身是沒有暫停功能的(sleep不能使用),并且vbscript也不能使用doEvents,因此小編打算自己手寫一個暫停函數。
提示:javascript作為弱對象語言,一個函數也可以作為一個對象使用。
比如:
function Test(){ alert("hellow"); this.NextStep=function(){ alert("NextStep"); } }
我們可以這樣調用:
var myTest=new Test();myTest.NextStep();
我們做暫停的時候可以把一個函數分為兩部分,暫停操作前的不變,把要在暫停后執行的代碼放在this.NextStep中。
為了控制暫停和繼續,我們需要編寫兩個函數來分別實現暫停和繼續功能。
暫停函數如下:
<script language="javascript"> function sleep(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); } /* 該函數把要暫停的函數放到數組window.eventList里,同時通過setTimeout來調用繼續函數。 繼續函數如下: */ function goon(ind){ var obj=window.eventList[ind]; window.eventList[ind]=null; if (obj.NextStep) obj.NextStep(); else obj(); } /* 該函數調用被暫停的函數的NextStep方法,如果沒有這個方法則重新調用該函數。 函數編寫完畢,我們可以作如下: */ function Test(){ alert("hellow"); sleep(this,3000);//調用暫停函數 this.NextStep=function(){ alert("NextStep"); } } Test(); </script>
感謝各位的閱讀,以上就是“怎么實現javascript暫停功能”的內容了,經過本文的學習后,相信大家對怎么實現javascript暫停功能這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。