javascript如何實(shí)現(xiàn)暫停功能
本文實(shí)例講述了JS實(shí)現(xiàn)的自定義網(wǎng)頁(yè)拖動(dòng)類(lèi)。分享給大家供大家參考,具體如下:
Javascript本身沒(méi)有暫停功能(sleep不能使用)同時(shí) vbscript也不能使用doEvents,故編寫(xiě)此函數(shù)實(shí)現(xiàn)此功能。
javascript作為弱對(duì)象語(yǔ)言,一個(gè)函數(shù)也可以作為一個(gè)對(duì)象使用。
比如:
function Test(){ alert("hellow"); this.NextStep=function(){ alert("NextStep"); } }
我們可以這樣調(diào)用 var myTest=new Test();myTest.NextStep();
我們做暫停的時(shí)候可以吧一個(gè)函數(shù)分為兩部分,暫停操作前的不變,把要在暫停后執(zhí)行的代碼放在this.NextStep中。
為了控制暫停和繼續(xù),我們需要編寫(xiě)兩個(gè)函數(shù)來(lái)分別實(shí)現(xiàn)暫停和繼續(xù)功能。
暫停函數(shù)如下:
<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); } /* 該函數(shù)把要暫停的函數(shù)放到數(shù)組window.eventList里,同時(shí)通過(guò)setTimeout來(lái)調(diào)用繼續(xù)函數(shù)。 繼續(xù)函數(shù)如下: */ function goon(ind){ var obj=window.eventList[ind]; window.eventList[ind]=null; if (obj.NextStep) obj.NextStep(); else obj(); } /* 該函數(shù)調(diào)用被暫停的函數(shù)的NextStep方法,如果沒(méi)有這個(gè)方法則重新調(diào)用該函數(shù)。 函數(shù)編寫(xiě)完畢,我們可以作如下: */ function Test(){ alert("hellow"); sleep(this,3000);//調(diào)用暫停函數(shù) this.NextStep=function(){ alert("NextStep"); } } Test(); </script>
希望本文對(duì)大家學(xué)習(xí)javascript程序設(shè)計(jì)有所幫助。
- 參考:關(guān)于Javascript中實(shí)現(xiàn)暫停的幾篇文章
- Javascript中暫停功能的實(shí)現(xiàn)代碼
- javascript中巧用“閉包”實(shí)現(xiàn)程序的暫停執(zhí)行功能
- javascript實(shí)現(xiàn)的像java、c#之類(lèi)的sleep暫停的函數(shù)代碼
- 用Javascript實(shí)現(xiàn)Sleep暫停功能代碼
- 關(guān)于JS控制代碼暫停的實(shí)現(xiàn)方法分享
- JS控制按鈕自動(dòng)切換背景顏色(可暫停)
- JS實(shí)現(xiàn)程序暫停與繼續(xù)功能代碼解讀
- jQuery及JS實(shí)現(xiàn)循環(huán)中暫停的方法
相關(guān)文章
CryptoJS中AES實(shí)現(xiàn)前后端通用加解密技術(shù)
這篇文章主要為大家詳細(xì)介紹了CryptoJS中AES實(shí)現(xiàn)前后端通用加解密技術(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12JavaScript實(shí)現(xiàn)帶有子菜單和控件的slider輪播圖效果
本文通過(guò)實(shí)例代碼給大家介紹了基于js實(shí)現(xiàn)帶有子菜單和控件的slider輪播圖效果,本文附有圖片和示例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-11-11JavaScript實(shí)現(xiàn)點(diǎn)擊復(fù)制功能具體代碼(JS訪問(wèn)剪貼板相關(guān))
這篇文章主要給大家介紹了關(guān)于JavaScript實(shí)現(xiàn)點(diǎn)擊復(fù)制功能(JS訪問(wèn)剪貼板相關(guān))的相關(guān)資料,復(fù)制功能指的是將一個(gè)文本或者圖片等資源從一個(gè)位置通過(guò)復(fù)制的方式再次拷貝到另一個(gè)位置,需要的朋友可以參考下2023-10-10JavaScript防抖與節(jié)流的實(shí)現(xiàn)與注意事項(xiàng)
防抖和節(jié)流嚴(yán)格算起來(lái)應(yīng)該屬于性能優(yōu)化的知識(shí),但實(shí)際上遇到的頻率相當(dāng)高,處理不當(dāng)或者放任不管就容易引起瀏覽器卡死,下面這篇文章主要給大家介紹了關(guān)于JavaScript防抖與節(jié)流的實(shí)現(xiàn)與注意事項(xiàng),需要的朋友可以參考下2022-03-03js判斷背景圖片是否加載成功使用img的width實(shí)現(xiàn)
判斷背景圖片是否加載成功想必大家對(duì)此很陌生吧,會(huì)了之后就可以判斷css背景圖片了,具體判斷代碼如下,感興趣的朋友可以參考下哈2013-05-05微信小程序控制臺(tái)提示warning:Now you can provide attr "wx:key" for a "w
這篇文章主要介紹了微信小程序控制臺(tái)提示warning:Now you can provide attr "wx:key" for a "wx:for" to improve performance解決方法,簡(jiǎn)單分析了wx:for警告提示相關(guān)解決方法,需要的朋友可以參考下2019-02-02實(shí)現(xiàn)點(diǎn)擊列表彈出列表索引的兩種方式
使用利用事件冒泡委托給列表的父節(jié)點(diǎn)去處理的方式第二種方式就是使用閉包了,感興趣的你可以參考下本文,或許對(duì)你學(xué)習(xí)js有所幫助2013-03-03JavaScript解析json格式數(shù)據(jù)簡(jiǎn)單示例
這篇文章主要介紹了JavaScript解析json格式數(shù)據(jù)簡(jiǎn)單示例,本文通過(guò)for循環(huán)來(lái)獲取json結(jié)點(diǎn)數(shù)據(jù),需要的朋友可以參考下2014-12-12