作者tonilin (小強)
看板Ajax
標題[問題] 怎麼預防使用者按太快
時間Fri Dec 25 22:57:48 2009
現在有兩個function
function a 會隱藏 A B C三個元素~一段時間間隔~接著顯示A元素
function b 會隱藏 A B C三個元素~一段時間間隔~接著顯示B元素
如果使用者按太快
a,b會一起執行,然後會變成A B C三個元素被隱藏~接著A B元素都顯示
就達不成我原先想要的功能了
請問要怎麼預防這種情形?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.233.166
1F:推 neversay:做locking flag,進去function先鎖起來 12/25 23:01
2F:→ neversay:另一個function檢查同樣的flag,若是true就不執行了 12/25 23:02
3F:→ tonilin:嗯嗯我有想過這個方法,不知道還有沒有更好的方法呢 12/25 23:16
4F:→ sjrom:onclick function跑的時候先assign onclick=null,跑完再 12/26 00:05
5F:→ sjrom:assign function回來...xd.. 12/26 00:05
6F:→ TonyQ:樓上這方法跟lock 差不多啊 XD 12/26 00:12
7F:→ TonyQ:這種問題除了點擊後進入鎖定(鎖定的方法有很多種),應該沒 12/26 00:13
8F:→ TonyQ:有沒的模式可以解套了吧 , 畢竟這就是lock 的機制啊...@_@ 12/26 00:13
9F:→ sjrom:我"個人"認為差很大,因為鎖源頭,畢竟比另做flag方便.而且 12/26 00:31
10F:→ sjrom:如果不是按2下,而是重覆多次(滑鼠壞了吧.),function call 12/26 00:33
11F:→ sjrom:stack多進去幾個,就還是有機會會破壞掉你的flag設定. 12/26 00:33
12F:→ sjrom:再機車一點的js optimizer的話也更有機會亂序排而破壞. 12/26 00:34
13F:→ sjrom:所以我想法是先斷源頭少一點call stack進來應該是有好處. 12/26 00:36
14F:→ sjrom:而且這作法也如Tony說的,也兼用lock 概念..淺見..xd 12/26 00:36
15F:→ tonilin:嗯嗯~我應該會選擇用flag的方法吧,把onlick都拿掉太麻煩 12/26 01:12
16F:→ tonilin:了,謝謝你們的回答^^ 12/26 01:12