zoukankan      html  css  js  c++  java
  • 弹出框封装

    1.弹出框封装

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>confirm</title>
        <meta name="viewport"
              content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
        <link rel="stylesheet" href="../css/aui.css">
    </head>
    <body>
    <div>
        <button id="a">支付成功</button>
        <button id="b">申请会长</button>
        <button id="c">信息提示</button>
    </div>
    <script src="../script/zepto.min.js"></script>
    <!--弹框样式-->
    <style>
        #confirm-box {
            font-family: "Helvetica Neue" , "微软雅黑", Helvetica, sans-serif;
             100%;
            height: 100%;
            position: fixed;
            background: rgba(0, 0, 0, 0.7);
            top: 0;
            left: 0;
            z-index: 1;
        }
        #confirm-box .confirm{
             13rem;
            margin: 30% auto;
            position: relative;
            text-align: center;
        }
        #confirm-box .confirm:before{
            content: '';
            display: block;
             13rem;
            height: 3.5rem;
            background: url(../image/confirm/a_up_image.png) no-repeat center center;
            background-size: 100% 100%;
        }
        #confirm-box .confirm:after{
            content: '';
            display: block;
             12.5rem;
            height: 2.5rem;
            background: url(../image/confirm/a_down_image.png) no-repeat center center;
            background-size: 100% 100%;
            position: relative;
            right: -0.65rem;
            bottom: 0;
        }
        #confirm-box .conten-box{
            margin-left: 1.2rem;
            margin-right: 0.95rem;
            background-image: url(../image/confirm/a_middle_image-.png);
            background-repeat: repeat-y;
            background-size: 100% 100%;
            color: #3C0900;
            font-size: 0.8rem;
        }
        #confirm-box .conten-box .close{
             2rem;
            height: 2rem;
            position: absolute;
            right: 0.1rem;
            top: 0.8rem;
            z-index: 15;
        }
        #confirm-box .firm-title{
            position: absolute;
             5rem;
            height: 1.8rem;
            line-height: 1.8rem;
            top: .3rem;
            left: 50%;
            margin-left: -2.4rem;
            z-index: 10;
            font-weight: 600;
        }
        #confirm-box .text-box{
             100%;
            padding: 0 1rem;
            max-height: 8rem;
            overflow: scroll;
        }
        #confirm-box .text-box .msg-title{
            font-weight: 600;
        }
        #confirm-box .firm-btn{
            height: 2rem;
            display: flex;
            line-height: 1.6rem;
            font-weight: 600;
            color: #ffc85b ;
            margin: 0 0.8rem;
        }
        #confirm-box .firm-btn div{
            flex: 1;
            margin: 0.2rem 0.35rem;
            background: url(../image/confirm/a_an_btn.png) no-repeat;
            background-size: 100% 100%;
        }
    </style>
    <script>
        //函数调用
        /*json {} , button [] , function */
        function openFirms(json, btn, callback) {
            if (json == null || typeof json !== 'object') return;
            var json = json || {}, btn = btn || [],
                len = btn.length, button = '', str = '',msg = '';
            if (len == 0 ){
                button = ''
            } else if (len == 1) {
                button += '<div class="btn-left">'+btn[0]+'</div>'
            } else {
                button += '<div class="btn-left">'+btn[0]+'</div><div class="btn-right">'+btn[1]+'</div>'
            }
            if(json.msg != undefined && json.msg != ''){msg=json.msg}
            var confirm = $('<div id="confirm-box"></div>');
            str += '<div class="confirm"><div class="conten-box"><div class="close"></div>' +
                '<div class="firm-title">'+json.title+'</div><div class="text-box"><h3 class="msg-title">'+msg+'</h3>' +
                '<span>'+json.text+'</span></div><div class="firm-btn">'+button+'</div></div></div>'
            confirm.html(str).show();
            $('body').append(confirm);
            confirm.on('click',function () {
                confirm.remove();
            });
            confirm.on('click', '.close', function () {
                confirm.remove();
            });
            confirm.on('click', '.firm-btn div', function () {
                callback($(this))
                confirm.remove();
                confirm = null
            });
        }
    
        /*---------------模拟数据------------------*/
        var data = [
                    {
                      "title":"支付页面",
                      "msg":"支付成功",
                      "text":"支付成功,等待审批等待审批流待审批流程等待审批流程等待审批流程等待审批流程流程待<br>审批流程等待审批流程等待审批流程等待审批流程流程程等待审批流程等待审批流程等待审批流程流程。",
                      "btn":["取消支付","重新支付"]
                    },
                    {
                      "title":"申请会长",
                      "msg":"",
                      "text":"您的申请以提交,等待审批等待审批流程等待审批流程等待审批流程等待审批流程流程。",
                      "btn":["同意","拒绝"]
                    },
                    {
                      "title":"信息提示",
                      "msg":"申请成功",
                      "text":"恭喜申请通过,等待审批等待审批流程等待审批流程等待审批流程等待审批流程流程。",
                      "btn":["我知道了"]
                    }
                ]
                    
        $('#a').on('click', function () {
            var btn = data[0].btn;
            openFirms(data[0],btn,function (btn) {
                if(btn.index()){
                    alert('重新支付')
                }else{
                    alert('取消支付')
                }
            })
        });
        $('#b').on('click',function () {
            var btn = data[1].btn;
            openFirms(data[1],btn,function (btn) {
                if(btn.index()){
                    alert('点击了拒绝')
                }else{
                    alert('点击了同意')
                }
            })
        });
        $('#c').on('click',function () {
            var btn = data[2].btn;
            openFirms(data[2],btn,function (btn) {
                alert('我知道了')
            })
        });
    
    </script>
    
    </body>
    </html>
    

    前端大神的代码

    数字密码封装

    <!DOCTYPE html >
    <html lang="en" style="font-size: 20px">
    <head>
        <meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body style=" 100vm;height: 100vh;margin: 0;padding: 0">
    <button>按钮</button>
    
    <style>
        .mask-layer{
             100%;
            height: 100%;
            position: fixed;
            top: 0;
            left: 0;
            z-index: 999;
            background: rgba(0,0,0,0.5);
            display: none;
        }
        .mask-layer .pwd-wrap{
             12rem;
            height: 9rem;
            background: #ddd;
            position: relative;
            top: 50%;
            left: 50%;
            margin: -4.5rem 0 0 -6rem;
            border:15px solid transparent;
            box-sizing: border-box;
        }
        .mask-layer .pwd-title{
            height: 1.5rem;
            line-height: 1.5rem;
            text-align: center;
            margin-bottom: 0.5rem;
        }
        .mask-layer .pwd-colse{
             0.8rem;
            height: 0.8rem;
            background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAjCAMAAADGxShVAAAAYFBMVEUAAAC/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v79ml6CyAAAAH3RSTlMAZhLMGBXi1CgK2Oi4IQXRvWWwDsKWW/pxT6J/eXBVlokKQQAAAL5JREFUOMuF08sOgyAQheEBsd5apVqt9sb7v2V1QnIW5OC/IYEvrGZEejlreY5WePXXig+hdZkPwixzyBizP3qZiv2oHBVhE7FqSiaMCAwTagaYRMTKwwwlFTCWiGiq/aawXMBkBEwqkFMzERFNqwaCmhWCGQhiIFifQ7RTRpigPZq86GCIMLcLDJsPNb7JCBguork2RDADwQwEqtX0iWAminuyzZ0aJmDGPiNgliiomWWMgpq32Jf/Cc2tm/wBYBof+yzPsXAAAAAASUVORK5CYII=) no-repeat;
            background-size: 100% 100%;
            position: absolute;
            top: -0.5rem;
            right: -0.5rem;
        }
    
        .mask-layer .pwd-text{
             100%;
            height: 1.8rem;
            position: relative;
            background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAhwAAABuBAMAAACepdesAAAALVBMVEX////Ly8vr7O8AAADe3t7w8PDLy8vLy8v9/f35+fnLy8vLy8vLy8vLy8vLy8up1xTVAAAAD3RSTlOZmdYAmZmFNJmZlGZUBAIwJlEAAAABOUlEQVR42u3dsUmDQRzG4VdBsDQbuMNXWFmGWKSwSJcBRMFKsbGxsDEDBCcQFxAXsLYRnMIhjCEcd40gCCfy/Orj4P8s8GYYDq/PRho9PL8Nw4rjanwf5W528sXxMY7WzV5XHC830brd6ZCDo2jT7UXej6NNO+e5jEqTPEWleU6j0jKPUWmRvai0hQPHb3Hs/4nH2/nRzzhw4MCBAwcOHDhw4MCBAwcOHDi6X4gDBw4cOHDgwIEDR/8LceDAgQMHDhw4cODofyEOHDhw4MCBAwcOHP0vxIEDBw4cOHDgwIGj/4U4cODAgQMHDhw4cPS/EAcOHDhw4MCBAweO/hfiwIEDBw4cOP5/OHB8w2FUoG5hcqJuaZCkbm6upm5izKgZMzJ11UxdGUKrmprJa2byjCi2I4omNpuJzU+pPHmnYtoyZwAAAABJRU5ErkJggg==) no-repeat;
            background-size: 100% 100%;
            overflow: hidden;
            line-height: 2rem;
            margin: 1rem 0;
        }
        .mask-layer .pwd-text label{
            display: block;
             100%;
            height: 100%;
            position: absolute;
            top: 0;
            left: 0;
            z-index: 1000;
        }
        #safe-pwd{
             100%;
            height: 100%;
            position: absolute;
            opacity: 0;
            z-index: -1;
        }
        .mask-layer .hide-pwd{
             100%;
            height: 100%;
            letter-spacing: 1.3rem;
            padding-left: 0.7rem;
        }
        .mask-layer .pwd-tips{
            text-align: right;
            font-size: 0.8rem;
        }
        .mask-layer .pwd-tips a{
            color: #686868;
        }
    
    </style>
    
    <div class="mask-layer" id="pwd-box">
        <div class="pwd-wrap">
            <div class="pwd-title">请输入安全密码</div>
            <div class="pwd-colse"></div>
            <div class="pwd-text">
                <label for="safe-pwd"></label>
                <input id="safe-pwd" type="tel" maxlength="6">
                <div class="hide-pwd"></div>
            </div>
            <div class="pwd-tips">
                <a href="##">忘记密码</a>
            </div>
        </div>
    </div>
    
    <script src="../script/jquery-1.10.2.js"></script>
    <script>
        $('button').on('click',function () {
            $('.mask-layer').show();
            $('#safe-pwd').focus();
        });
        $('#pwd-box').on('click','.pwd-colse',function () {
            $('#pwd-box').hide();
            $('#safe-pwd').val('');
            $('.hide-pwd').text('');
        });
        $('#safe-pwd').on('input',function () {
            var self = $(this),val = self.val(),
                l = val.length,next = self.next(),i='',x;
            for(x=0;x<l;x++){i+='*'}next.text(i);
            if(l == 6){
                self.val('');next.text('');$('#pwd-box').hide();
                checkPay(val)
            }
        });
        function checkPay(val) {
            console.log(val)
        }
    
    </script>
    
    </body>
    </html>
    
  • 相关阅读:
    vue 单页面应用 app自适应方案
    css3-3D特效
    css3动画-transition
    html5基本页面
    初入博客园
    网络部分之如何发送HTTP请求
    多线程知识之NSOperation的使用
    多线程知识点之GCD的使用
    多线程知识点之NSThread的使用
    plist 文件读写
  • 原文地址:https://www.cnblogs.com/jiqing9006/p/7134395.html
Copyright © 2011-2022 走看看