欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

如何用JS实现简单弹出框

程序员文章站 2022-05-01 15:26:06
...

本文主要和大家分析如何用JS实现极简弹出框,需要的朋友可以参考下,希望能帮助到大家。下面跟随小编一起来看一下吧。

  • 有两个p组成了弹出框。两个p的级别是兄弟关系。

  • 其中一个p是为了遮挡后面的内容

  • 第二个p是为了显示弹出框的实际内容

    HTML部分

  • !-- 这个是用来遮罩的 --><p id="modelp"></p><!-- 这个是用来展示弹框内容的 --><p id="model">
    <p style="float: right;height: 20px; width: 20px;border-radius: 50%; border: 2px solid red;text-align: center;" onclick="closeModel()">
            X    </p>
        弹出窗口</p>
  • CSS部分

  • // 遮挡部分CSS#modelp {        height: 100%;
            width: 100%;
            // 页面定位到最上面
            position: absolute;
            top:0;
            left:0;
            background: silver;
            // 透明度这样能看到后面的内容效果真实一些
            opacity:0.8;
            // 遮挡级别最好高一些,防止别的内容会突然出现在你的弹出层上面,这就尴尬了。
            z-index: 99;
        }    // 弹出框内容CSS
        #model {        width: 300px;
            height: 200px;
            background: #959FA9;
            border-radius: 10px;
            padding: 15px;
            position: absolute;
            top: 200px;
            left: 42%;
            z-index: 99;
        }
  • JavaScript部分

  • // 页面一进入就打开了弹出框。所以直接遮挡// 此处是用来解决如果你的页面过大会出现滚动条,这样遮罩层只能遮挡你的可见部分滚动内容无法折腾的问题。document.body.style.overflow = 'hidden';/**
    * 关闭弹出框的功能
    */function closeModel() {
            document.getElementById("model").style.display = 'none';
            document.getElementById("modelp").style.display = 'none';        // 不遮挡后面的内容将body设置为原始样式,也就是实现可滚动
            document.body.style.overflow = 'auto';
        }

以上就是如何用JS实现简单弹出框的详细内容,更多请关注其它相关文章!