layer做阻塞式彈出層的方法

2022-07-08 02:18:11 字數 575 閱讀 8183

今天遇到乙個問題:

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 去再次開啟乙個彈出層,這時候第二個開啟的彈出層是在最早開啟的基礎上,然後鑲嵌在裡面的。如果第乙個彈出層很大,而第二個彈出層比較小,可能不會太影響使用者體驗 但是如果第乙個彈出層很小,而第二個彈出層卻很大,這...