js实现简单模态框实例

模态框在网页中很常见就是在当前页面中弹出一个框供与客户交互。

类似于这样。

首先我们要明白该框工作原理至于怎样与后端进行交互联系这边先不做介绍我们首先是单纯的了解怎样在网页中实现这样的一个框图的显现。值得注意的是框图产生时一般的我们滚动鼠标发现网页仍在移动。实现这样框图就是加了两个盒子

第一个盒子实现背景:

将整个页面覆盖(透明色)

第二个盒子实现交互框。

小编这边来实现一个最简单的交互框(代码量可能相对多了一点,主要是因为样式多了一点整体结构还是非常简单的)

代码如下:

模拟框最关键的一步就是在对他们样式写好时最先以display:none;让他们不显示,然后以js触动改变display再讲他们显现出来。

<title>点击显示弹框</title>
  <style type="text/css">
    *{
      margin: 0;
      padding: 0;
    }
    #btn{
      text-align: center;
    }
    .a1{
      display: block;
      text-decoration: none; //创建一个超链接点击可现实弹框
    }
    #back{
       width: 100%;
       height: 100%;
       background: rgba(0,0,0,.5);  //设置黑色的透明色
       position: fixed;       //在页面中绝对定位
       top: 0;
       left: 0;
       z-index: 999;        //因为要覆盖全网页所以设置一个比较高的权重
       display: none;
    }
    #login{
      display: none;
      width: 400px;
      height: 250px;
      background-color: #fff;
      position: fixed;
      top:50%;
      left:50%;
      margin:-125px 0 0 -200px;
      z-index: 1000;
    } //弹框用样也是像背景一样实现
    #close_all{
      position: absolute;
      top:10px;
      right:10px;
      width:15px;
      height:15px;
      font-size:15px;
      cursor: pointer; //该步鼠标悬停时变小手
    } //给×符号定位在右上角
  </style>
  <script type="text/javascript">
    window.onload=function () {
      var btn=document.getElementById("btn");
      var back=document.getElementById("back");
      var login=document.getElementById("login");
      var close_all=document.getElementById("close_all");
      btn.onclick=function () {
        back.style.display="block";
        login.style.display="block";
      }
      close_all.onclick=function () {
        back.style.display="none";
        login.style.display="none";
      }
    }
  </script>
</head>
<body>
<div id="btn">
  <a href="javascript:;" rel="external nofollow" class="a1">点击我登录</a>
</div>
<div id="back"></div>
<div id="login">
  <span id="close_all">×</span>
</div>

</body>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • js利用事件的阻止冒泡实现点击空白模态框的隐藏

    很多时候,我们做前端的时候都会有这样的小功能,点击弹出某个框框,但是,有时候不想操作,就想点击某个空白处,隐藏该框框.假设如下场景,一个小按钮,点击可以弹出一个模态框. 就这么简单,但是我们想要点击空白部分的时候隐藏模态框,加入按钮id:btn,模态框id:model 也许我们最简单的思路就是直接在document上监听一个事件,伪代码如下: 按钮点击弹出事件监听: 复制代码 代码如下: $("#btn").bind("click",function(e){ if(

  • angularJS模态框$modal实例代码

    1.引入$modal模块 如:angular.module('ModalCtrl',['$modal' ,'$scope' , function($modal ,$scope ){ }]); 2.执行调模态框 函数 $scope.editModule = function(type, size, id) { $scope.id = id; var modalInstance = $modal.open({ templateUrl: 'tpl/weichat_modulebaseinfo.html

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

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

  • AngularJS中使用ngModal模态框实例

    在AngularJS中使用模态框需要引用的文件: angular.js 1.5.5 ui.bootstrap-tpls.js 0.11.2 bootstrap.css 3.3.7 需要注意版本要一致,高版本的不支持这种方法,会出错 将需要弹出的模态框的内容写在 script 标签中,指明属性,放在页面中 <script type="text/ng-template" id="modal.html"> <div> <div class=&

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

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

  • JS实现图片点击后出现模态框效果

    很多时候我们在浏览图片时,会发现点击图片后,会弹出一个被点击图片的放大图片浮在页面上,占满整个窗口.这就是图片模态框效果. 这个效果可以使用某些js库实现,如bpopupJs.但是在这里我们使用纯js实现,能够更好理解效果原理和实现方法. 一.实现思路 我们点击小图片之后,图片模态框出现,同时图片模态框上有一个关闭按钮和图片的标题. 因此,我们的实现思路就是: 图片模态框有大图片,关闭按钮,图片标题三部分. 将图片模态框隐藏,在点击小图片之后,模态框出现. 点击关闭按钮后,模态框隐藏. 二.HT

  • AngularJS模态框模板ngDialog的使用详解

    项目开始的时候我们用的对话框是AngularJS的$modal模态框,但是后来发现$modal打开的对话框是相对页面静止的,如果对话框是一个很长的表单,这样体验度就不是很好了,还有$modal传$scope不是很灵活的原因,后来就改用的$ngDialog. 官方的API在这里:https://www.npmjs.com/package/ng-dialog 首先确定你的项目已经安装了$ngDialog需要的相关文件. 接下来一个简单的demo del.html内容如下,就是你的对话框内容,这里比较

  • js实现类bootstrap模态框动画

    在pc端开发,模态框是一个很常用的插件,之前一直用的第三方插件,比如bootstrap,jQuery的模态框插件,最近还用了elementUI的.但是会发现其实动画效果都差不多,那么如何去实现这样一个动画效果呢? 模态框的构成  常见的模态框的结构我们很容易就可以看出,一个遮罩层,还有内容区.内容区主要是头部(包括标题,关闭按钮)和body部分(body中常常会有确认和取消按钮). 布局  1.背景要充满全屏,而且如果页面有滚动,当模态框弹出的时候是无法滚动的:  2.内容区要水平居中显示,至于

  • bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能

    效果图: 如图,这是使用Validator插件,所完成的功能,效果很强大,也很方便,这边推荐使用这种方式,最后介绍一下原始js验证写法. 首先,导入插件: <link href="<%=basePath %>bootstrap/css/bootstrap-datetimepicker.min.css" rel="external nofollow" rel="stylesheet" media="screen"

  • Bootstrap与Angularjs的模态框实例代码

    先给大家展示下效果图,感兴趣的朋友参考下实现代码吧 效果图如下所示: 具体代码如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="https://cdn.bootcss.com/angular.js/1.4.6/angular.

  • AngularJs 弹出模态框(model)

    推荐阅读:详解AngularJS 模态对话框 $modal是一个可以迅速创建模态窗口的服务,创建部分页,控制器,并关联他们. $modal仅有一个方法open(options) templateUrl:模态窗口的地址 template:用于显示html标签 scope:一个作用域为模态的内容使用(事实上,$modal会创建一个当前作用域的子作用域)默认为$rootScope controller:为$modal指定的控制器,初始化$scope,该控制器可用$modalInstance注入 res

  • Vue.js弹出模态框组件开发的示例代码

    前言 在开发项目的过程中,经常会需要开发一些弹出框效果,但原生的alert和confirm往往都无法满足项目的要求.这次在开发基于Vue.js的读书WebApp的时候总共有两处需要进行提示的地方,因为一开始就没有引入其他的组件库,现在只好自己写一个模态框组件了.目前只是一个仅满足当前项目需求的初始版本,因为这个项目比较简单,也就没有保留很多的扩展功能.这个组件还是有很多扩展空间的,可以增加更多的自定义内容和样式.这里只介绍如何去开发一个模态框组件,有需要进行更多扩展的,可以根据自己的需求自行开发

随机推荐