美文网首页
利用原生js简单封装confirm弹出框

利用原生js简单封装confirm弹出框

作者: 深漂浪子 | 来源:发表于2019-06-03 15:55 被阅读0次

由于项目需要,做了一个超级简单的弹出框,一打开页面就弹出弹出框。由于项目总监说要尽量小(少引入封装的文件包),所以采用原生js(发现网上基本上都是用jQuery做的),话不多说,上代码吧

<!DOCTYPE html>

<head>
    <meta charset="utf-8">
    <title>登录确定提醒</title>
    <style>
    html,
    body {
        margin: 0;
        padding: 0;
        font-family: "微软雅黑";
    }
    .wrap-dialog {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        font-size: 16px;
        text-align: center;
        background-color: rgba(0, 0, 0, .7);
        z-index: 999;
    }

    .dialog {
          top: 0;
          left: 0;
        position: relative;
        /*margin: 10% auto;*/
        width: 300px;
        background-color: #FFFFFF;
        border-radius: 2px;
    }

    .dialog .dialog-header {
        height: 20px;
        padding: 10px;
        background-color: #F8F8F8;
        border-bottom: 1px solid #eee;
        text-align: left;
    }
   .dialog-title{
        display: inline-block;
        width: 50px;
        margin-left: 0;
    }
    .dialog .dialog-body {
        height: 30px;
        padding: 20px;
    }

    .dialog .dialog-footer {
        padding: 8px;
        background-color: #f5f5f5;
    }

    .dialog-btn {
        cursor: pointer;
        background: #ff5622;
        border: 1px solid #ff5622;
        border-radius: 2px;
        color: #fff;
            height: 28px;
            line-height: 28px;
            margin: 5px 5px 0;
            padding:0 25px;

    } 
    .dialog-hide {
        display: none;
    }

    .dialog-ml50 {
        margin-left: 50px;
        background: #fcfbfc;
        color: #000;
        border: 1px solid #dedede;
    }

    .closeBtn{
        display: inline-block;
        width: 20px;
        height: 20px;
        padding: 10px;
        line-height: 20px;
        text-align: center;
        /*background: red;*/
        color: #333;
        font-size: 12px;
        float: right;
        cursor:pointer;
        font-weight: bolder;
    }
     .closeBtn:hover{
        color: #A0A8B4;
     }
    </style>
</head>

<body>

    <div class="wrap-dialog dialog-hide" id="dialog-hide">          
        <div class="dialog" id="dialog">            
            <a class="closeBtn" id="closeBtn">X</a>
            <div class="dialog-header">
                <span class="dialog-title">提示</span>                
            </div>
            <div class="dialog-body">
                <span class="dialog-message" id="dialog-message">是否要退出登录?</span>
            </div>
            <div class="dialog-footer">
                <input type="button" class="dialog-btn" id="dialog-confirm" value="是" />
                <input type="button" class="dialog-btn dialog-ml50" id="dialog-cancel" value="否" />
            </div>
        </div>
    </div>

</body>
<script>

    window.onload=function(){
            var choose=function(id){
            return document.getElementById(id);
        }

       //自定義部分
    window.confirm = function(message, yesCallBack, noCallBack) {

        var message = message || "是否要退出登录?";

       choose("dialog-message").innerHTML = message;
        // 显示遮罩和对话框
       choose("dialog-hide").className = "wrap-dialog";
        // 确定按钮

       choose("dialog").onclick= function(e){
            if(e.target.className=="dialog-btn"){
                 choose("dialog-hide").className = "wrap-dialog dialog-hide";
                 yesCallBack();
            }else if (e.target.className=="dialog-btn dialog-ml50"){
                 choose("dialog-hide").className = "wrap-dialog dialog-hide";
                  noCallBack();
            }
        };
        // 取消按钮
       choose("closeBtn").onclick = function(){
            choose("dialog-hide").style.display = "none";
        }
    }

     function submitHand(){
         function submitBtn() {
           alert("确定");
        }

        function closeBtn() {
            alert("取消");
        }
        confirm("确认登录?", submitBtn, closeBtn);
    }
   //页面打开自动弹出  
   submitHand();
}

</script>

</html>

相关文章

  • 利用原生js简单封装confirm弹出框

    由于项目需要,做了一个超级简单的弹出框,一打开页面就弹出弹出框。由于项目总监说要尽量小(少引入封装的文件包),所以...

  • 基于原生JS封装的Modal对话框插件

    基于原生JS封装Modal对话框插件 原生JS封装Modal对话框插件,个人用来学习原理与思想,只有简单的基本框架...

  • js_基本入门(一)

    js_(一) 1 输出信息的几种方式 Alert() 在页面弹出一个对话框,早期JS调试使用。 Confirm()...

  • 自定义android弹出框

    概述 android上原生的弹出框和ios原生的弹出框视觉差距较大,为了与ios的视觉效果类似,所以封装了这个库。...

  • 原生js封装confirm、alert

    html,body{ width:100%; height:100%; padding: 0 ;...

  • react native 简单的弹出框

    模仿原生效果的弹出框封装的组件 style样式 父组件调用

  • js中的三种弹出框

    JavaScript中有三种弹出框:alert(),confirm()和prompt()。 1、alert()弹出...

  • Web前端------JS之基本语法(一)

    JS的五种输出方法 alert():界面弹出对话框,只有确定一个按钮alert.png confirm():界面弹...

  • js的提示框

    1、confirm消息对话框confirm 消息对话框通常用于允许用户做选择的动作,如:“你对吗?”等。弹出对话框...

  • confirm,弹出框提示

    当我们点击删除按钮时想先弹出一个确认删除的弹框,就需要使用到confirm****效果图****

网友评论

      本文标题:利用原生js简单封装confirm弹出框

      本文链接:https://www.haomeiwen.com/subject/vnwcxctx.html