原生js实现简单的模态框示例

html部分:

<img src="images/8.jpg" alt="">
 <button class="btn" id="showMax">显示大图</button>
 <div id="modalBox" class="modalBox">
 <div class="modalBox-matter">
  <header class="modalBox-header">
   <span class="mtclose">×</span>
  </header>
  <div class="modalBox-body">

    <img src="images/8-1.jpg">

  </div>
 </div>
</div>

js部分:

var btn = document.getElementById('showMax');
 var mtclose = document.getElementsByClassName('mtclose')[0];
 var modalBox = document.getElementById('modalBox');
 btn.addEventListener('click', function(){
  modalBox.style.display = "block";
 });
 mtclose.addEventListener('click', function(){
  modalBox.style.display = "none";
 });

css部分:

.btn{
 width: 100px;
 height: 35px;
 border-radius: 5px;
 font-size: 16px;
 color: #F97B39;

 position: absolute;
 top: 130px;
 left: 160px;
 opacity: 0.2;
 cursor: pointer; /*鼠标小手*/
} 

.btn:hover, .btn:focus{ /*focus 取得焦点状态*/
 background-color: #8AA7F9;
 opacity: 0.5;
 color: #FFFFFF;
}
.modalBox{
 display: none;
 width: 100%;
 height: 100%;
 position: fixed;
 left: 0;
 top: 0;
 z-index: 1000;
 background-color: rgba(0,0,0,0.5);
}

.modalBox-matter{
 display: flex;    /*/*弹性布局*/
 flex-flow: column nowrap;
 justify-content: space-between;     /*两端对齐*/
 width: 50%;
 height: 80%;
 margin: 30px auto 100px;
 border-radius:10px;
 -webkit-animation: zoom 0.6s;
 animation: zoom 0.6s;
 resize: both;
 overflow: auto;
}

@keyframes zoom{
 from {transform: scale(0)}
 to {transform: scale(1)}
}

.modalBox-header{

  margin-left: 617px;
}

.mtclose{
 color: #602E2A;
 font-size: 3em;
 font-weight: bold;
 transition: all 0.3s;
 /*z-index: 1010; */
 }
 .mtclose:hover, .mtclose:focus{
 color: #602E2A;
 cursor: pointer;
}

.modalBox-body{
 padding: 10px;
 font-size: 16px;
}

效果

因为正在进行的一个项目中,需要一个模态框,所以花时间在网上自学的,相对来说比较简单,可以自行修改内容。。。

以上这篇原生js实现简单的模态框示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 用原生JS实现简单的多选框功能

    废话不多说了,直接给大家贴代码了,具体代码如下所示: <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <body> <input id="cheakAll" type="checkbox">全选 <div> <

  • [js高手之路]单例模式实现模态框的示例

    什么是单例呢? 单,就是一个的意思.例:就是实例化出来的对象,那合在一起就是保证一个构造函数只能new出一个实例,为什么要学习单例模式呢?或者说单例模式有哪些常见的应用场景.它的使用还是很广泛,比如:弹出一个模态框,一般来说在网站中弹出的模态框,不停的一直点击,一般只能创建一个.还有后台的数据库连接,一般都是保证一个连接等等.今天的主题就是单例在模态框中的应用,我们先要搞清楚,怎么弄个单例出来. 我们先看下普通的构造函数加原型方式.下面这种是常见的方式 function Singleton (

  • 原生js实现简单的模态框示例

    html部分: <img src="images/8.jpg" alt=""> <button class="btn" id="showMax">显示大图</button> <div id="modalBox" class="modalBox"> <div class="modalBox-matter"> &

  • JS实现简单拖动模态框案例

    本文实例为大家分享了JS实现简单拖动模态框的具体代码,供大家参考,具体内容如下 需要实现的效果: ①点击“点击,弹出登录框”后模态框和遮挡层就会显示出来 ②点击关闭按钮,模态框和遮盖层就会隐藏起来 ③页面拖拽 功能分析: 首先给上面的"点击,弹出登录框"设置点击事件,点击之后就显示遮罩层和模态框,然后给模态框上面的关闭按钮设置点击事件,点击之后就隐藏遮罩层和模态框.然后是拖拽过程,这个过程的实现较为复杂,主要分为下面几步: 1.明确模态框的真正位置是鼠标的坐标减去鼠标在模态框内的坐标.

  • 原生JS实现简单的倒计时功能示例

    本文实例讲述了原生JS实现简单的倒计时功能.分享给大家供大家参考,具体如下: 1.第一种 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>www.jb51.net JS倒计时</title> </head> <body> <div id="div"></div> <scr

  • vuejs2.0运用原生js实现简单的拖拽元素功能示例

    整理文档,搜刮出一个vuejs2.0运用原生js实现简单的拖拽元素功能示例,留作笔记. <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <meta

  • 利用css+原生js制作简单的钟表

    利用css+原生js制作简单的钟表.效果如下所示 实现该效果,分三大块:html.javascript.css html部分 html部分比较简单,定义一个clock的div,内部有原点.时分秒针.日期以及时间,至于钟表上的刻度.数字等元素,因为量比较多,采用jvascript生成 <!doctype html> <html> <head> <meta charset="UTF-8"> <link rel='stylesheet'

  • JS实现简单的操作杆旋转示例详解

    目录 一.实现效果 二.组成部分 目标 三.代码实现 1.操作控制 2.dom对象操作类 3.用法 总结与思考 一.实现效果 JS 简单的操作杆旋转实现 首先说明一下,请直接忽略背景图,这里主要实现的是杆旋转控制方向盘旋转. 鼠标移出控制区域,控制球复位 二.组成部分 创建 ballOption.js 文件,用以绑定控制球指定 dom,并初始化相关操作 创建 eleOption.js 文件,用以实现一些频繁的 dom 操作 主要是通过鼠标滑动事件控制“控制球”位置更改及获取以屏幕上方向为0度的角

  • 利用原生js和jQuery实现单选框的勾选和取消操作的方法

    根据以下的Demo,大概就可以看的明白 Demo: <html> <head> <script src='jquery-1.9.1.min.js'></script> <script> window.onload = function(){ var dom_a = document.getElementById('a1'); var dom_b = document.getElementById("b1"); //alert(

  • 浅谈原生JS实现jQuery的animate()动画示例

    本文介绍了浅谈原生JS实现jQuery的animate()动画示例,希望此文章对各位有所帮助. 参数介绍: obj 执行动画的元素 css JSON数值对,形式为"{属性名: 属性值}",指要执行动画的书序及其对应值 interval 属性每执行一次改变的时间间隔 speedFactor 速度因子,使动画具有缓冲效果,而不是匀速不变(speedFactor为1) func 执行完动画后的回调函数 注意: 必须为每一个元素分别添加一个定时器,否则会互相影响. cur != css[arr

  • 原生js实现简单的Ripple按钮实例代码

    整理文档,搜刮出一个原生js实现简单的Ripple按钮的代码,稍微整理精简一下做下分享. 效果如图 准备食材(html部分) <ul id="nav"> <li> <a href='#'> <span>首页</span> <span class="circle"></span> </a> </li> <li> <a href='#'>

随机推荐