js简单自定义模态弹窗效果

模态弹窗

模态弹窗主要是用于登录或者一些需要在本页面实现弹窗的效果。
代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>     
        <style media="screen">
            #over {
                width: 100%;
                height: 100%;
                position: absolute;
                background-color: rgba(145,152, 159, 0.5);
            }

            #over>div {
                width: 300px;
                height: 200px;
                margin: 0 auto;
                margin-top: 200px;
                text-align: center;
                padding: 1px;

                background-color: white;
                border-radius: 10px;

            }


            #content {
                position: relative;
            }
            #close {
                position: absolute;
                top: -10px;
                right: -10px;
                width: 20px;
                height: 20px;
                cursor: pointer;
            }
            #over>div>h3 {
                margin-top: 20px;
            }
        </style>

        <script type="text/javascript">
            window.onload = function () {
                // 获取点击弹出模态窗口的按钮
                var btn = document.querySelector('#btn');
                // 给按钮绑定让模态窗口显示的函数
                btn.onclick = showOrHidden;
                // 获取页面中关闭模态的标签
                var a = document.querySelector('#close');
                a.onclick = showOrHidden;
                // 获取over标签
                var over = document.querySelector('#over');
                over.onclick = showOrHidden;
                // 获取到content标签
                var content = document.querySelector('#content');
                // 添加点击事件函数,在函数中清除冒泡机制
                content.onclick = function (ev) {
                    var e = event || ev;
                    e.stopPropagation();
                }


                //定义让模态窗口显示或隐藏的函数
                function showOrHidden() {
                    // 获取到模态窗口
                    var over = document.querySelector('#over');
                    over.style.display = over.style.display == 'none' ? 'block' : 'none';
                }

            }


        </script>
    </head>
    <body>
        <!--模态窗口部分-->
        <div id="over" style="display:none">
            <!--用户可操作的页面-->
            <div id="content">
                <h3>登录</h3>
                <input type="text" name="username" placeholder="用户名" value="">
                <br>
                <input type="text" name="pass" placeholder="密码" value="">
                <br>
                <button type="button" name="button">登录</button>
                ![](./close.png)
            </div>
        </div>

        <!--正常页面中的按钮,通过点击按钮触发模态窗口-->
        <button type="button" id='btn' name="button">点击弹出模态窗口</button>


    </body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,826评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,305评论 4 61
  • 周周五一要举办婚礼了,周末的的时候她给我电话,让我陪她去预定好的户外婚礼场地挑选各种小配件,我们约在了车公庙的地铁...
    达达令阅读 1,020评论 0 5
  • 邻居有位七十多的老爷子。平时总在社区里与老人们一起玩耍。去年,得了癌症,因其家境非常殷实,在后来的日子里,注射进口...
    花园里的皮皮阅读 248评论 0 0
  • “一生一代一双人,争教两处销魂。相思相望不相亲,天为谁春?”那年懵懂孩童刚长为情窦初开的文雅少年,却要面对与青梅竹...
    single阳光阅读 438评论 0 3