[問題] 怎麼預防使用者按太快

看板Ajax作者 (小強)時間15年前 (2009/12/25 22:57), 編輯推噓1(1015)
留言16則, 4人參與, 最新討論串1/1
現在有兩個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

12/25 23:01, , 1F
做locking flag,進去function先鎖起來
12/25 23:01, 1F

12/25 23:02, , 2F
另一個function檢查同樣的flag,若是true就不執行了
12/25 23:02, 2F

12/25 23:16, , 3F
嗯嗯我有想過這個方法,不知道還有沒有更好的方法呢
12/25 23:16, 3F

12/26 00:05, , 4F
onclick function跑的時候先assign onclick=null,跑完再
12/26 00:05, 4F

12/26 00:05, , 5F
assign function回來...xd..
12/26 00:05, 5F

12/26 00:12, , 6F
樓上這方法跟lock 差不多啊 XD
12/26 00:12, 6F

12/26 00:13, , 7F
這種問題除了點擊後進入鎖定(鎖定的方法有很多種),應該沒
12/26 00:13, 7F

12/26 00:13, , 8F
有沒的模式可以解套了吧 , 畢竟這就是lock 的機制啊...@_@
12/26 00:13, 8F

12/26 00:31, , 9F
我"個人"認為差很大,因為鎖源頭,畢竟比另做flag方便.而且
12/26 00:31, 9F

12/26 00:33, , 10F
如果不是按2下,而是重覆多次(滑鼠壞了吧.),function call
12/26 00:33, 10F

12/26 00:33, , 11F
stack多進去幾個,就還是有機會會破壞掉你的flag設定.
12/26 00:33, 11F

12/26 00:34, , 12F
再機車一點的js optimizer的話也更有機會亂序排而破壞.
12/26 00:34, 12F

12/26 00:36, , 13F
所以我想法是先斷源頭少一點call stack進來應該是有好處.
12/26 00:36, 13F

12/26 00:36, , 14F
而且這作法也如Tony說的,也兼用lock 概念..淺見..xd
12/26 00:36, 14F

12/26 01:12, , 15F
嗯嗯~我應該會選擇用flag的方法吧,把onlick都拿掉太麻煩
12/26 01:12, 15F

12/26 01:12, , 16F
了,謝謝你們的回答^^
12/26 01:12, 16F
文章代碼(AID): #1BDDBlPf (Ajax)
文章代碼(AID): #1BDDBlPf (Ajax)