Re: [問題] function 裡的 setTimeout 與 變數
※ 引述《xam (聽說)》之銘言:
: ※ 引述《TonyQ (沉默是金)》之銘言:
: 我也想請教一下, 跟前一篇的問題類似
: 如果我要用 setTimeout() 作排程, 一次設定多個 event 要怎麼作?
: 例如我有以下資料
: var s = [[10, "Hello"], [15, "World"], [3, "Hi"]];
: 想要在 3 秒後顯示 Hi
: 10 Hello
: 15 World
: 下面這樣的作法只能處理最後一筆, 換成 function 也一樣
: for(i in s)
: {
: setTimeout("alert(s[i][1])", s[i][0]*1000);
: }
: 目前的是用, 可行,但是有點怪
: for(i in s)
: {
: callback = "alert('"+s[i][1]+"')";
: setTimeout(callback, s[i][0]*1000);
: }
我覺得這樣還算合理啊 , 雖然timeout一多會拖垮效能.:p
或者這樣的寫法?
var workqueue=[[10, "Hello"], [15, "World"], [3, "Hi"]];
setInteral(
function(){
for(var i=0;i<workqueue.length;++i){
if(workqueue[i]!=null){
--workqueue[i][0];
if(workqueue[i][0]==0) alert(workqueue[i][1]);
workqueue[i]=null;
}
}
},1000
);
當然...這只是順手草擬的 -.-a
真的有興趣要作還可以加入heap tree 來作時間差的排序,
讓他看起來更真實跟更有效能一點...
--
印象中不少人都做過timer 的機制了 , 找找應該就會有現成的.
--
What do you want to have ? / What do you have?
從書本中,你可以發現我的各種興趣。
從CD中,你可以瞭解我所喜歡的偶像明星。
或許從文字你很難以瞭解一個人,但從物品可以。
My PPolis , My past. http://ppolis.tw/user/Tony
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.219.202
→
10/07 15:16, , 1F
10/07 15:16, 1F
→
10/07 15:18, , 2F
10/07 15:18, 2F
→
10/07 15:37, , 3F
10/07 15:37, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 5 之 6 篇):