今天遇到乙個問題:
layer彈出乙個confirm提示窗,然後confirm還沒有點選對應的按鈕的時候,就已經執行了後續**,我這裡做出的判斷是,是否需要進行後續操作,但是因為layer.confitm的非阻塞式的特性導致我這個控制失效,無法達到點選確定或者取消的效果。
研究了幾個方法,都不怎麼樣,有些方法是把後續操作全部放到**函式裡面去,但是這個操作影響到我目前的邏輯,對方法的封裝也不友好,所以就拋棄了。
後面自己谷歌到乙個通過async關鍵字來實現阻塞式彈窗的方法:直接上圖
首先在你需要阻塞的方法的開始寫關鍵字async,
我這裡是乙個點選事件,所以直接function上加上async關鍵字。
然後內部需要阻塞執行的方法前面需要加上await關鍵字,如圖:
這樣就可以讓**停在這個方法,需要注意的是,我這裡的mrislocked()這個方法,在寫方法具體邏輯的時候,也需要加async關鍵字,
也就是宣告方法的時候,如圖:
簡單的來說,就是在彈窗的方法宣告時候加上async關鍵字,呼叫該方法的時候加上await關鍵字,就可以達到這個效果了。
如果有寫的不對的,還望大佬們斧正。
layer彈出層的位置設定
1 給彈出層id及資訊,方便獲取其寬度和高度 var index layer.msg data.info,2 根據具體情況計算出彈出層的top和left,用offset設定其位置 layer.msg index,例子,設定layer彈出層在彈出層 id為pop reg 的中間 水平垂直居中 位置 v...
牛逼的 彈出層 layer !!!
功能強大,實用,操作方便,文件齊全。常用功能 doctype html html head meta charset utf 8 title layer 更懂你的web彈窗解決方案 title script src script script src layer layer.js script sc...
layer的巢狀開啟彈出層
當開啟了乙個layer.open 之後,如果在open的頁面上面還有乙個layer.open 去再次開啟乙個彈出層,這時候第二個開啟的彈出層是在最早開啟的基礎上,然後鑲嵌在裡面的。如果第乙個彈出層很大,而第二個彈出層比較小,可能不會太影響使用者體驗 但是如果第乙個彈出層很小,而第二個彈出層卻很大,這...