click me樣式部分:也放出來供參考,樣式可以根據自己的設計圖自行更改即可
/*css彈出框最外層
*/.msg__wrap
/*彈出框頭部
*/.msg__wrap .msg-header .msg__wrap .msg-header .msg-header-close-button
/*彈出框中部
*/.msg__wrap .msg-body
/*圖示 */
.msg__wrap .msg-body .msg-body-icon.msg__wrap .msg-body .msg-body-icon div.msg__wrap .msg-body .msg-body-icon .msg-body-icon-success.msg__wrap .msg-body .msg-body-icon .msg-body-icon-success::after.msg__wrap .msg-body .msg-body-icon .msg-body-icon-wrong.msg__wrap .msg-body .msg-body-icon .msg-body-icon-wrong::after.msg__wrap .msg-body .msg-body-icon .msg-body-icon-info.msg__wrap .msg-body .msg-body-icon .msg-body-icon-info::after
/*內容 */
.msg__wrap .msg-body .msg-body-content
/*彈出框底部
*/.msg__wrap .msg-footer .msg__wrap .msg-footer .msg-footer-btn .msg__wrap .msg-footer .msg-footer-cancel-button.msg__wrap .msg-footer .msg-footer-cancel-button:active.msg__wrap .msg-footer .msg-footer-confirm-button.msg__wrap .msg-footer .msg-footer-confirm-button:active
/*遮罩層
*/.msg__overlay
/*js到此,乙個完整的自定義彈窗元件已完成,只需要引入該js以及css或者直接把相關**加到自己的公共js中即可直接呼叫,注意,構造函式呼叫要用new.*自定義彈窗 */
//自執行函式 形成封閉的作用域 避免全域性汙染
//傳入windwo和document物件 相當於將window和document作為了作用域中的區域性變數,
//就不需要內部函式沿著作用域鏈再查詢到最頂層的window 提高執行效率。
(function
(window, document)
//定義初始化方法 並對方法傳遞的引數進行初始化
msg.prototype =, //
內容樣式
contentfontsize = "1.5em", //
內容字型大小
btnname = ["確定", "取消"] //
按鈕文字內容
}) );
//繫結事件處理函式
this
._bind();
},//建立彈窗元素方法
_createlement()
×` : "";
//判斷是否顯示圖示
const iconhtml = this.showicon ?`
` : "";
//判斷是否顯示彈窗底部按鈕
const footerhtml = this.footer ?`$$
` : "";
//拼接完整html
const innerhtml =`$
$
$`;
//將拼接的html賦值到wrap中
wrap.innerhtml =innerhtml;
//把自定義的樣式進行合併
const contentstyle =
//獲取內容所屬dom
let content = wrap.queryselector(".msg-body .msg-body-content");
//將傳過來的樣式新增到contentdom
for (const key in
contentstyle)
}//給彈窗的conntent賦值
if (this
.usehtml)
else
//建立遮罩層
let overlay = document.createelement("div");
overlay.classname = "msg__overlay";
//把dom掛載到當前例項上
this._overlay =overlay;
this._el =wrap;
},//彈窗展現方法
_show() )
},//關閉彈窗方法
_close() , 300);
},//事件處理函式,為dom繫結事件
_bind() );
}//確認彈窗
const confirm = (e) =>);
}//頂部關閉按鈕繫結事件
if (this
.header)
//彈窗底部兩個按鈕事件監聽
if (this
.footer) }}
//將建構函式暴露到window 可直接在全域性作用域中訪問建構函式
window.$msg =msg;
})(window, document);
下面是點選之後彈窗圖效果(gif動態圖):
覺得不錯的,趕快動手試試吧。紙上得來終覺淺,絕知此事要躬行。
用js自定義彈窗
用js自定義彈窗 如下 doctype html html lang zh cn head meta charset utf 8 title title title style popup popup content top info style script 給定乙個值,使點 確定按鈕 為 tru...
swift 自定義彈窗
在專案中,有的時候需要用到一些特殊的彈窗,並在彈窗上新增一些自定義的功能,這個時候我們就需要自定義彈窗了 帶xib的彈窗檔案 呼叫彈窗的方法 class func show view uiview?alertview else let nib uinib nibname alertview bund...
ionic ionicPopup 自定義彈窗
ionic 彈窗寫法 上述鏈結所講的彈窗內容模板是官網固定寫好的,有時就不滿足自己專案所需,官網介紹了乙個屬性,可以自定義彈窗內容 templateurl 所引用 彈窗內容的 html檔案位址 彈窗 var confirmpopup ionicpopup.confirm confirmpopup.t...