• js模态框实现原理


    https://my.oschina.net/aiguozhe/blog/279992

    摘要: 本文介绍如何通过html+css+Javascript实现一个简单的模态对话框。

    虽然现在开源社区上有各种功能强大的模态JS框库或JS插件,但大都需要依赖jQuery, 对于使用Zepto的移动端来说不太适合,而且很多功能都不需要。其实要实现一个简单的模态对话框,只需几行HTML+css+js代码就能搞定。

    首先在html上定义两个div元素,其中外层div表示模态框外面的覆盖层(overlay layer), 内层的div表示模态框

    <div id="modal-overlay">
    <div class="modal-data">
    <p>一个很简单的模态对话框 </p>
    <p>点击<a onclick="overlay()" href="">这里</a>关闭</p>
    </div>
    </div>
    接着分别为两个div定义样式:

    /* 定义模态对话框外面的覆盖层样式 */
    #modal-overlay {
    visibility: hidden;
    position: absolute; /* 使用绝对定位或固定定位 */
    left: 0px;
    top: 0px;
    100%;
    height:100%;
    text-align:center;
    z-index: 1000;
    background-color: #333;
    opacity: 0.5; /* 背景半透明 */
    }
    /* 模态框样式 */
    .modal-data{
    300px;
    margin: 100px auto;
    background-color: #fff;
    border:1px solid #000;
    padding:15px;
    text-align:center;
    }
    最后添加一个控制模态框显示与隐藏的函数

    function overlay(){
    var e1 = document.getElementById('modal-overlay');
    e1.style.visibility = (e1.style.visibility == "visible" ) ? "hidden" : "visible";
    }
    完整的例子见 这里

     如果模态框里包含<select>元素,在IE6下会存在问题,解决办法参考 这里

  • 相关阅读:
    汇编语言 第二单元 整理
    iOS10推送必看UNNotificationServiceExtension
    RSA加,解密
    添加购物车动画
    长按移动cell
    http live streming
    修改工程
    searbar
    tableView 编辑模式
    iOS 3D touch
  • 原文地址:https://www.cnblogs.com/simadi/p/6372479.html
Copyright © 2020-2023  润新知