zoukankan      html  css  js  c++  java
  • 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下会存在问题,解决办法参考 这里

  • 相关阅读:
    shell 编写简单的整数计算器
    信号控制
    MySQL-索引及优化整理
    Java面试-Java容器有哪些
    C语言宏定义
    值类型与引用类型的区别
    C++虚函数简介
    DNS-域名解析
    扇区,簇,块区分
    Java合并两个数组为一个新数组
  • 原文地址:https://www.cnblogs.com/simadi/p/6372479.html
Copyright © 2011-2022 走看看