请问老师哪里出了问题?
来源:3-2 自定义弹框(二)
qq_鸭绿桥第一帅哥_0
2019-07-04 11:29:15
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>a</title>
<link rel="stylesheet" type="text/css" href="css/index1.css">
</head>
<body>
<button id="pop">弹个框</button>
<!-- <div class="msg__wrap">
<div class="msg-header">
<span>确认删除</span>
<span class="msg-header-close-button">×</span>
</div>
<div class="msg-body">
<div class="msg-body-icon">
<div class="msg-body-icon-wrong"></div>
</div>
<div class="msg-body-content">是否删除</div>
</div>
<div class="msg-footer">
<button class="msg-footer-btn msg-footer-cancel-button">算了吧</button>
<button class="msg-footer-btn msg-footer-confirm-button">好的</button>
</div>
</div> -->
<script type="text/javascript" src="js/shiyan.js"></script>
<script type="text/javascript">
document.querySelector('#pop').addEventListener('click', function() {
new $Msg({
content: '清空吗?'
});
})
</script>
</body>
</html>
(function(window, document) {
let Msg = function(options) {
this._init(options);
}
Msg.prototype._init = function({ content = '' }) {
this.content = content;
this._createElement();
this._bind([this._el,this.overlay]);
this._show([this._el,this.overlay]);
}
Msg.prototype._bind=function([el,overlay]){
const hideMsg=function(){
el.style.transform= 'translate(-50%, -50%) scale(0, 0)';
overlay.style.opacity=0;
setTimeout(function(){
document.body.removeChild(el);
document.body.removeChild(overlay);
},300);
}
const cancel=function(e){
hideMsg();
}
const confirm=function(e){
hideMsg();
}
overlay.addEventListener('click',cancel);
el.querySelector('.msg-header .msg-header-close-button').addEventListener('click',cancel);
el.querySelector('msg-footer .msg-footer-cancel-button').addEventListener('click',cancel);
el.querySelector('msg-footer .msg-footer-confirm-button').addEventListener('click',confirm);
}
Msg.prototype._createElement = function() {
let wrap = document.createElement('div');
wrap.className = 'msg__wrap';
wrap.innerHTML = '\
<div class="msg-header">\
<span>确认删除</span>\
<span class="msg-header-close-button">×</span>\
</div>\
<div class="msg-body">\
<div class="msg-body-icon">\
<div class="msg-body-icon-wrong"></div>\
</div>\
<div class="msg-body-content">是否删除</div>\
</div>\
<div class="msg-footer">\
<button class="msg-footer-btn msg-footer-cancel-button">算了吧</button>\
<button class="msg-footer-btn msg-footer-confirm-button">好的</button>\
</div>';
let overlay=document.createElement('div');
overlay.className='msg__overlay';
this.overlay=overlay;
this._el=wrap;
}
Msg.prototype._show=function([el,overlay]){
document.body.appendChild(el);
document.body.appendChild(overlay);
setTimeout(function(){
el.style.transform= 'translate(-50%, -50%) scale(1, 1)';
overlay.style.opacity=1;
})
}
window.$Msg = Msg;
})(window, document)
/* 弹出框最外层 */
.msg__wrap {
position: fixed;
top: 50%;
left: 50%;
z-index: 10;
transition: all .3s;
transform: translate(-50%, -50%) scale(0, 0);
max-width: 50%;
background: #fff;
box-shadow: 0 0 10px #eee;
font-size: 10px;
}
/* 弹出框头部 */
.msg__wrap .msg-header {
padding: 10px 10px 0 10px;
font-size: 1.8em;
}
.msg__wrap .msg-header .msg-header-close-button {
float: right;
cursor: pointer;
}
/* 弹出框中部 */
.msg__wrap .msg-body {
padding: 10px 10px 10px 10px;
display: flex;
}
/* 图标 */
.msg__wrap .msg-body .msg-body-icon{
width: 80px;
}
.msg__wrap .msg-body .msg-body-icon div{
width: 45px;
height: 45px;
margin: 0 auto;
line-height: 45px;
color: #fff;
border-radius: 50% 50%;
font-size: 2em;
}
.msg__wrap .msg-body .msg-body-icon .msg-body-icon-success{
background: #32a323;
text-align: center;
}
.msg__wrap .msg-body .msg-body-icon .msg-body-icon-success::after{
content: "成";
}
.msg__wrap .msg-body .msg-body-icon .msg-body-icon-wrong{
background: #ff8080;
text-align: center;
}
.msg__wrap .msg-body .msg-body-icon .msg-body-icon-wrong::after{
content: "误";
}
.msg__wrap .msg-body .msg-body-icon .msg-body-icon-info{
background: #80b7ff;
text-align: center;
}
.msg__wrap .msg-body .msg-body-icon .msg-body-icon-info::after{
content: "注";
}
/* 内容 */
.msg__wrap .msg-body .msg-body-content{
min-width: 200px;
font-size: 1.5em;
word-break: break-all;
display: flex;
align-items: center;
padding-left: 10px;
box-sizing: border-box;
}
/* 弹出框底部 */
.msg__wrap .msg-footer {
padding: 0 10px 10px 10px;
display: flex;
flex-direction: row-reverse;
}
.msg__wrap .msg-footer .msg-footer-btn {
width: 50px;
height: 30px;
border: 0 none;
color: #fff;
outline: none;
font-size: 1em;
border-radius: 2px;
margin-left: 5px;
cursor: pointer;
}
.msg__wrap .msg-footer .msg-footer-cancel-button{
background-color: #ff3b3b;
}
.msg__wrap .msg-footer .msg-footer-cancel-button:active{
background-color: #ff6f6f;
}
.msg__wrap .msg-footer .msg-footer-confirm-button{
background-color: #4896f0;
}
.msg__wrap .msg-footer .msg-footer-confirm-button:active{
background-color: #1d5fac;
}
/* 遮罩层 */
.msg__overlay {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 5;
background-color: rgba(0, 0, 0, .4);
transition: all .3s;
opacity: 0;
}1回答
同学你好!
可以通过控制台看下哪里报错:

所以将问题定位到这里:msg-footer前面需要加点.来选中

如果帮助到了你 欢迎采纳 祝学习愉快~
相似问题