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