欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript單例模式實現(xiàn)自定義彈框

 更新時間:2021年10月04日 10:16:51   作者:亂舞春秋__  
這篇文章主要為大家詳細介紹了JavaScript單例模式實現(xiàn)自定義彈框,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了JavaScript單例模式實現(xiàn)自定義彈框的具體代碼,供大家參考,具體內容如下

功能

  • 自定義彈框標題
  • 自定義彈框內容
  • 自定義彈框確認和關閉時的回調函數(shù)

完整代碼

const Dialog = (function () {
 class Dialog {
   constructor () {
     this.ele = document.createElement('div')
     this.ele.className = 'dialog'
     document.body.appendChild(this.ele)
     this.callback = null
     this.setEvent()
   }
 
   setContent ({ text, topicText, confirmText, cancelText } = options) {
     this.ele.innerHTML = null
     const top = document.createElement('div')
     top.className = 'top'
     const topic = document.createElement('span')
     topic.className = 'topic'
     topic.innerHTML = topicText
     const close = document.createElement('span')
     close.className = 'close'
     close.innerHTML = '×'
     top.appendChild(topic)
     top.appendChild(close)
     const middle = document.createElement('div')
     middle.className = 'middle'
     const content = document.createElement('div')
     content.className = 'content'
     content.innerHTML = text
     middle.appendChild(content)
     const bottom = document.createElement('div')
     bottom.className = 'bottom'
     const confirm = document.createElement('button')
     confirm.className = 'confirm'
     confirm.innerHTML = confirmText
     const cancel = document.createElement('button')
     cancel.className = 'cancel'
     cancel.innerHTML = cancelText
     bottom.appendChild(confirm)
     bottom.appendChild(cancel)
     const wrap = document.createElement('div')
     this.ele.appendChild(top)
     this.ele.appendChild(middle)
     this.ele.appendChild(bottom)
     this.ele.style.display = 'block'
   }
 
   setEvent () {
     this.ele.addEventListener('click', e => {
       e = e || window.event
       const target = e.target || e.srcElement
       if (target.className === 'close') {
         this.ele.style.display = 'none'
         console.log('close')
       }
       if (target.className === 'confirm') {
         this.ele.style.display = 'none'
         this.callback(true)
       }
       if (target.className === 'cancel') {
         this.ele.style.display = 'none'
         this.callback(false)
       }
     })
   }
 }
 let instance = null
 return function (options, cb) {
   if (!instance) instance = new Dialog()
   instance.setContent(options)
   instance.callback = cb || function () {}
   return instance
 }
 })()
 
 const dialog = new Dialog({
 text: '提示文字',
 topicText: '標題',
 confirmText: '確定',
 cancelText: '取消'
 }, res => { console.log(res) })

效果圖

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • JS控制GIF圖片的停止與顯示

    JS控制GIF圖片的停止與顯示

    這篇文章主要為大家詳細介紹了JS控制GIF圖片的停止與顯示,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • JS JQuery獲取data-*屬性值方法解析

    JS JQuery獲取data-*屬性值方法解析

    這篇文章主要介紹了JS JQuery獲取data-*屬性值方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • 紅黑樹的插入詳解及Javascript實現(xiàn)方法示例

    紅黑樹的插入詳解及Javascript實現(xiàn)方法示例

    這篇文章主要給大家介紹了關于紅黑樹的插入的相關資料,以及Javascript實現(xiàn)的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起看看吧。
    2018-03-03
  • 微信小程序畫布顯示圖片繪制矩形選區(qū)效果

    微信小程序畫布顯示圖片繪制矩形選區(qū)效果

    這篇文章主要介紹了微信小程序畫布顯示圖片繪制矩形選區(qū)效果,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-05-05
  • 如何在JavaScript中正確處理變量

    如何在JavaScript中正確處理變量

    這篇文章主要介紹了如何在JavaScript中正確處理變量,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下
    2020-12-12
  • JavaScript中高級語法??表達式用法示例詳解

    JavaScript中高級語法??表達式用法示例詳解

    這篇文章主要為大家介紹了JavaScript中高級語法??表達式用法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • JavaScript面向對象編程

    JavaScript面向對象編程

    暫時放棄js框架吧 開始寫javascript的時候都是自己寫,后來發(fā)現(xiàn)了prototype.js框架,發(fā)現(xiàn)很好用,就一直用的,他的對象創(chuàng)建方法被修改了,但很好用,再后來又轉用jquery框架,受此框架影響,也不用自己創(chuàng)建類了,漸漸的竟然忘記了如何自己定義類了,猛的給一個一般方法,竟然看著別扭,混淆了很多東西,忘記了很多東西。今天回頭整理下。 一下方法參考prototype.js
    2008-03-03
  • js下用gb2312編碼解碼實現(xiàn)方法

    js下用gb2312編碼解碼實現(xiàn)方法

    在js中將中文用gb2312編碼。如,“我”編碼后應該是“%CE%D2”。
    2009-12-12
  • 如何快速高效創(chuàng)建JavaScript 一維數(shù)組方法詳解

    如何快速高效創(chuàng)建JavaScript 一維數(shù)組方法詳解

    這篇文章主要為大家介紹了如何快速高效創(chuàng)建JavaScript 一維數(shù)組方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • EditPlus中的正則表達式 實戰(zhàn)(4)

    EditPlus中的正則表達式 實戰(zhàn)(4)

    這篇文章主要介紹了 EditPlus中的正則表達式 實戰(zhàn)(4)的相關資料,需要的朋友可以參考下
    2016-12-12

最新評論