您好,登錄后才能下訂單哦!
本篇內容介紹了“怎么使用JavaScript封裝彈框插件”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
知識點1、document.querySelector() 方法
querySelector() 方法返回文檔中匹配指定 CSS 選擇器的一個元素。
注意: querySelector() 方法僅僅返回匹配指定選擇器的第一個元素。如果你需要返回所有的元素,請使用 querySelectorAll() 方法替代。
querySelectorAll() 方法返回文檔中匹配指定 CSS 選擇器的所有元素,返回 [NodeList] 對象。
知識點2、document.createElement() 用于創建一個元素
知識點3、innerHTML可獲取或設置指定元素標簽內的 html內容,從該元素標簽的起始位置到終止位置的全部內容(包含html標簽)。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <title>Document</title> <link rel="stylesheet" href="../css/tanchuang.css" /> </head> <body> <button> 彈窗 </button> <script> var control = document.querySelector("button"); control.onclick = function() { var shade = document.createElement("div"); shade.className = "shade"; shade.innerHTML = ` <div class="popwindows"> <div class="tltle"> <div class="text"><h4>溫馨提示</h4></div> <div class="exit"></div> </div> <div class="content"><h5>是否添加一個頁面生成一個藍色div</h5></div> <div class="endbtn"> <div class="btn confirm">確定</div> <div class="btn cancel">取消</div> </div> </div> ` document.body.appendChild(shade); var cancel = document.querySelector(".btn.cancel"); cancel.onclick = function() { document.body.removeChild(shade); } var confirmDiv = document.querySelector(".btn.confirm"); confirmDiv.onclick = function() { var a = document.createElement("div") a.style.backgroundColor = "red"; a.style.width = "100px"; a.style.height = "100px"; document.body.appendChild(a); document.body.removeChild(shade) } } </script> </body> </html>
tanchuang.css
* { margin: 0; padding: 0; box-sizing: border-box; } .shade { display: flex; top: 0; left: 0; width: 100%; height: 600px; background-color: rgba(0, 0, 0, 0.5); } .shade .popwindows { width: 400px; height: 300px; background-color: #f2f2f2; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: flex; flex-direction: column; } .shade .popwindows .tltle { position: relative; display: flex; flex-direction: row; align-items: center; width: 100%; flex: 1; border-bottom: 1px solid #bdb8b8; } .shade .popwindows .tltle .text { flex: 1; float: left; padding-left: 10px; font-family: "微軟雅黑"; } .shade .popwindows .tltle .exit { width: 30px; height: 30px; background-image: url("../js學習/imag/cuohao.png"); background-repeat: no-repeat; background-position: center center; background-size: 20px auto; float: right; margin-right: 10px; } .shade .popwindows .content { width: 100%; flex: 3; line-height: 40px; font-size: 13px; margin-left: 10px; font-family: '宋體'; } .shade .popwindows .endbtn { display: flex; justify-content: center; align-items: center; width: 100%; flex: 1; border-top: 1px solid #bdb8b8; } .shade .popwindows .endbtn .btn{ width: 80px; text-align: center; height: 30px; line-height: 30px; font-size: 15px; background-color: #979797; } .shade .popwindows .endbtn .btn:nth-child(1){ margin-right: 10px; } .shade .popwindows .endbtn .btn:nth-child(2){ margin-right: 10px; } .shade .popwindows .endbtn .btn:hover{ background-color: #f68c4e; }
封裝
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <title>Document</title> <link rel="stylesheet" href="../css/tanchuang.css" /> <script src="../js文件/popwindows.js"></script> </head> <body> <button>添加彈窗</button> </body> <script> var button = document.querySelector("button"); button.onclick = function() { var args = { title: "嚴重警告", content: "您輸入的內容不合法", confirmDivfn: function() { var a = document.createElement("div"); a.style.backgroundColor = "red"; a.style.width = "100px"; a.style.height = "100px"; document.body.appendChild(a); }, cancelfn: function() { } }; Alert(args); }; </script> </html>
/* var args = { title:"溫馨提示", content:"是否添加一個頁面生成一個藍色div", confirmDivfn:function(){ var a = document.createElement("div"); a.style.backgroundColor = "red"; a.style.width = "100px"; a.style.height = "100px"; body.appendChild(a); }, cancelfn:function(){ body.removeChild(shade); } } */ function Alert(args) { var shade = document.createElement("div"); shade.className = "shade"; shade.innerHTML = ` <div class="popwindows"> <div class="tltle"> <div class="text"><h4>` + args.title + `</h4></div> <div class="exit"></div> </div> <div class="content"><h5>` + args.content + `</h5></div> <div class="endbtn"> <div class="btn confirm">確定</div> <div class="btn cancel">取消</div> </div> </div> `; document.body.appendChild(shade); var cancel = document.querySelector(".btn.cancel"); var confirmDiv = document.querySelector(".btn.confirm"); confirmDiv.onclick = function() { /* 此處輸入確認事件的內容*/ args.confirmDivfn(); document.body.removeChild(shade); }; cancel.onclick = function() { /* 此處輸入取消事件的內容 */ args.cancelfn(); document.body.removeChild(shade); }; };
css不變
“怎么使用JavaScript封裝彈框插件”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。