分享两款带遮罩的jQuery弹出框


Posted in Javascript onDecember 30, 2015

第一款:页面遮罩弹出框是最常见的一种状况,用jQuery完成页面遮罩弹出框,主要用的技能有JQuery,css与html。

 html代码下列:

<div id="main"><a href="javascript:showBg();">点击这里查看效果</a>
 <div id="fullbg"></div>
 <div id="dialog">
 <p class="close"><a href="#" onclick="closeBg();">封闭</a></p>
 <div>正在加载,请稍后....</div>
 </div>
</div>

css代码以下:

body {
 font-family:Arial, Helvetica, sans-serif;
 font-size:12px;
 margin:0;
}
#main {
 height:1800px;
 padding-top:90px;
 text-align:center;
}
#fullbg {
 bac千克round-color:gray;
 left:0;
 opacity:0.5;
 position:absolute;
 top:0;
 z-index:3;
 filter:alpha(opacity=50);
 -moz-opacity:0.5;
 -khtml-opacity:0.5;
}
#dialog {
 bac公斤round-color:#fff;
 border:5px solid rgba(0,0,0, 0.4);
 height:400px;
 left:50%;
 margin:-200px 0 0 -200px;
 padding:1px;
 position:fixed !important; /* 浮动对话框 */
 position:absolute;
 top:50%;
 width:400px;
 z-index:5;
 border-radius:5px;
 display:none;
}
#dialog p {
 margin:0 0 12px;
 height:24px;
 line-height:24px;
 bac公斤round:#CCCCCC;
}
#dialog p.close {
 text-align:right;
 padding-right:10px;
}
#dialog p.close a {
 color:#fff;
 text-decoration:none;
}

jQuery代码以下:

<script type="text/javascript">
 //展示灰色 jQuery 遮罩层
 function showBg() {
 var bh = $("body").height();
 var bw = $("body").width();
 $("#fullbg").css({
  height:bh,
  width:bw,
  display:"block"
 });
 $("#dialog").show();
 }
 //关闭灰色 jQuery 遮罩
 function closeBg() {
 $("#fullbg,#dialog").hide();
 }
 </script>

第二款:简单制作一个jQuery遮罩层,当然也可以做成公共函数,方便以后多次使用.本教程适合新手。

首先给出html:

<p class="showbtn"><a href="javascript:void(0);">显示遮罩层</a></p>
<div id="bg"></div>
<div class="box" style="display:none">
 <h2>jQuery 学习交流<a href="#" class="close">关闭</a></h2>
 <div class="list">
 <ul>
  <li>三水点靠木</li>
  <li>三水点靠木</li>
  <li>三水点靠木</li>
 </ul>
 </div>
</div>

遮罩层的样式如下:

/* box */
.box{position:absolute;width:600px;left:50%;height:auto;z-index:100;background-color:#fff;border:1px #ddd solid;padding:1px;}
.box h2{height:25px;font-size:14px;background-color:#aaa;position:relative;padding-left:10px;line-height:25px;color:#fff;}
.box h2 a{position:absolute;right:5px;font-size:12px;color:#fff;}
.box .list{padding:10px;}
.box .list li{height:24px;line-height:24px;}
.box .list li span{margin:0 5px 0 0;font-family:"宋体";font-size:12px;font-weight:400;color:#ddd;}
.showbtn {font:bold 24px '微软雅黑';}
#bg{background-color:#666;position:absolute;z-index:99;left:0;top:0;display:none;width:100%;height:100%;opacity:0.5;filter: alpha(opacity=50);-moz-opacity: 0.5;}

最后是jQuery来实现弹出层的显示和隐藏:

$(function () {
 $(".showbtn").click(function () {
 $("#bg").css({
  display: "block", height: $(document).height()
 });
 var $box = $('.box');
 $box.css({
  //设置弹出层距离左边的位置
  left: ($("body").width() - $box.width()) / 2 - 20 + "px",
  //设置弹出层距离上面的位置
  top: ($(window).height() - $box.height()) / 2 + $(window).scrollTop() + "px",
  display: "block"
 });
 });
 //点击关闭按钮的时候,遮罩层关闭
 $(".close").click(function () {
 $("#bg,.box").css("display", "none");
 });
});

总结:使用jQuery实现遮罩的思路就是点击按钮的时候触发遮罩层,过弹出层的css层级z-index让遮罩层遮住整个页面,同时通过弹出层的css层级z-index高于遮罩层,这样弹出层就高亮显示了。然后点击关闭弹出层按钮的时候,让弹出层隐藏,同时也让遮罩层隐藏。这种方法写法是比较快速的,后续有空我会把这段代码写成公共函数,这样方便多次调用。

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

Javascript 相关文章推荐
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
Oct 23 Javascript
基于jQuery的仿flash的广告轮播
Nov 05 Javascript
JS父页面与子页面相互传值方法
Mar 05 Javascript
js面向对象编程之如何实现方法重载
Jul 02 Javascript
jQuery内部原理和实现方式浅析
Feb 03 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
Dec 03 Javascript
JavaScript简单实现弹出拖拽窗口(一)
Jun 17 Javascript
获取IE浏览器Cookie信息的方法
Jan 23 Javascript
使用vue构建一个上传图片表单
Jul 04 Javascript
layer页面跳转,获取html子节点元素的值方法
Sep 27 Javascript
Vue项目打包部署到iis服务器的配置方法
Oct 14 Javascript
小程序表单认证布局及验证详解
Jun 19 Javascript
JavaScript小技巧整理
Dec 30 #Javascript
jQuery拖动元素并对元素进行重新排序
Dec 30 #Javascript
jQuery给元素添加样式的方法详解
Dec 30 #Javascript
Underscore源码分析
Dec 30 #Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
Dec 30 #Javascript
javascript实现禁止复制网页内容汇总
Dec 30 #Javascript
jquery实现树形菜单完整代码
Dec 29 #Javascript
You might like
php基础知识:类与对象(3) 构造函数和析构函数
2006/12/13 PHP
php修改NetBeans默认字体的大小
2013/07/02 PHP
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
2014/11/18 PHP
Laravel中注册Facades的步骤详解
2016/03/16 PHP
JavaScript 应用类库代码
2008/06/02 Javascript
js客户端快捷键管理类的较完整实现和应用
2010/06/08 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
JS小功能(onmouseover实现选择月份)实例代码
2013/11/28 Javascript
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
jQuery插件EnPlaceholder实现输入框提示文字
2015/06/05 Javascript
jquery实现的用户注册表单提示操作效果代码分享
2015/08/28 Javascript
向JavaScript的数组中添加元素的方法小结
2015/10/24 Javascript
结合代码图文讲解JavaScript中的作用域与作用域链
2016/07/05 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
Vue开发中整合axios的文件整理
2017/04/29 Javascript
React Native仿美团下拉菜单的实例代码
2017/08/08 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
微信小程序scroll-view实现滚动穿透和阻止滚动的方法
2018/08/20 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
2019/07/26 Javascript
vue 集成 vis-network 实现网络拓扑图的方法
2019/08/07 Javascript
使用Python编写Linux系统守护进程实例
2015/02/03 Python
Python2实现的LED大数字显示效果示例
2017/09/04 Python
怎么使用pipenv管理你的python项目
2018/03/12 Python
python:接口间数据传递与调用方法
2018/12/17 Python
如何更优雅地写python代码
2019/07/02 Python
Python反爬虫伪装浏览器进行爬虫
2020/02/28 Python
python文件及目录操作代码汇总
2020/07/08 Python
文员自我评价怎么写
2013/09/19 职场文书
生产车间实习自我鉴定
2013/09/23 职场文书
机械设计毕业生自荐信
2014/02/02 职场文书
省委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
房屋质量投诉书
2015/07/02 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
2015元旦感言
2015/12/09 职场文书
导游词之丹东鸭绿江
2019/10/24 职场文书