分享两款带遮罩的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 相关文章推荐
jquery设置控件位置的方法
Aug 21 Javascript
浅析hasOwnProperty方法的应用
Nov 20 Javascript
用js传递value默认值的示例代码
Sep 11 Javascript
jQuery中append()方法用法实例
Dec 25 Javascript
jQuery判断数组是否包含了指定的元素
Mar 10 Javascript
Javascript中实现String.startsWith和endsWith方法
Jun 10 Javascript
全面了解js中的script标签
Jul 04 Javascript
js中使用使用原型(prototype)定义方法的好处详解
Jul 04 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
Feb 13 Javascript
详解vue项目优化之按需加载组件-使用webpack require.ensure
Jun 13 Javascript
Web制作验证码功能实例代码
Jun 19 Javascript
vue+springboot+element+vue-resource实现文件上传教程
Oct 21 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 中检查或过滤IP地址的实现代码
2011/11/27 PHP
php输入数据统一类实例
2015/02/23 PHP
深入探究PHP的多进程编程方法
2015/08/18 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
js 获取子节点函数 (兼容FF与IE)
2010/04/18 Javascript
js 事件处理函数间的Event物件是否全等
2011/04/08 Javascript
通过下拉框的值来确定输入框是否可以为空的代码
2011/10/18 Javascript
自己写的Javascript计算时间差函数
2013/10/28 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】
2016/07/19 Javascript
Bootstrap select实现下拉框多选效果
2016/12/23 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
vue如何从接口请求数据
2017/06/22 Javascript
基于bootstrop常用类总结(推荐)
2017/09/11 Javascript
bootstrap 通过加减按钮实现输入框组功能
2017/11/15 Javascript
vue js秒转天数小时分钟秒的实例代码
2018/08/08 Javascript
vue添加axios,并且指定baseurl的方法
2018/09/19 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
2020/03/09 Javascript
Vue循环遍历选项赋值到对应控件的实现方法
2020/06/22 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队LGD晋级之路
2018/04/07 DOTA
Django windows使用Apache实现部署流程解析
2020/10/12 Python
实例教程 利用html5和css3打造一款创意404页面
2014/10/20 HTML / CSS
英国汽车和货车租赁网站:Hertz英国
2016/09/02 全球购物
有趣的流行文化T恤、马克杯、手机壳和更多:Look Human
2019/01/07 全球购物
中职生自荐信
2013/10/13 职场文书
国际贸易专业个人鉴定
2014/02/22 职场文书
婚礼答谢宴主持词
2014/03/14 职场文书
护士长竞聘书
2014/03/31 职场文书
《明天,我们毕业》教学反思
2014/04/24 职场文书
考试没考好检讨书
2015/05/06 职场文书
新入职员工工作总结
2015/10/15 职场文书
2016新年问候语大全
2015/11/11 职场文书
golang日志包logger的用法详解
2021/05/05 Golang
Python快速优雅的批量修改Word文档样式
2021/05/20 Python
分享7个 Python 实战项目练习
2022/03/03 Python
Android中的Launch Mode详情
2022/06/05 Java/Android