分享两款带遮罩的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 表单的友好用户体现
Jan 07 Javascript
JS中实现replaceAll的方法(实例代码)
Nov 12 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
Nov 30 Javascript
js中substr,substring,indexOf,lastIndexOf的用法小结
Dec 27 Javascript
jquery.map()方法的使用详解
Jul 09 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
Aug 24 Javascript
Bootstrap和Java分页实例第二篇
Dec 23 Javascript
AngularJS之ionic 框架下实现 Localstorage本地存储
Apr 22 Javascript
vue.js中实现登录控制的方法示例
Apr 23 Javascript
Vue实现按钮旋转和移动位置的实例代码
Aug 09 Javascript
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
Jul 16 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
Aug 14 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 FTP类的详解
2013/06/13 PHP
使用PHP生成PDF方法详解
2015/01/23 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
CI分页类首页、尾页不显示的解决方法
2016/03/28 PHP
php投票系统之增加与删除投票(管理员篇)
2016/07/01 PHP
php安装dblib扩展,连接mssql的具体步骤
2017/03/02 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
2017/07/18 PHP
jquery trim() 功能源代码
2011/02/14 Javascript
用JS将搜索的关键字高亮显示实现代码
2013/11/08 Javascript
点击表单提交时出现jQuery没有权限的解决方法
2014/07/23 Javascript
js关于命名空间的函数实例
2015/02/05 Javascript
简介JavaScript中Math.LOG10E属性的使用
2015/06/14 Javascript
jQuery实现径向动画菜单效果
2015/07/17 Javascript
JavaScript的Number对象的toString()方法
2015/12/18 Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
2016/12/02 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
javaScript基础详解
2017/01/19 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
vue-router路由模式详解(小结)
2019/08/26 Javascript
[11:27]《一刀刀一天》之DOTA全时刻20:TI4总奖金突破920W TS赛事分析
2014/06/18 DOTA
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
2014/07/11 Python
详解Python网络爬虫功能的基本写法
2016/01/28 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
2019/08/08 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
浅谈keras保存模型中的save()和save_weights()区别
2020/05/21 Python
美国帽子俱乐部商店:Hat Club
2019/07/05 全球购物
乌克兰数字设备、配件和智能技术的连锁商店:KTC
2020/08/18 全球购物
生物学学生自我评价
2014/01/17 职场文书
科长竞争上岗演讲稿
2014/05/12 职场文书
公务员政审材料
2014/12/23 职场文书
网络管理员岗位职责
2015/02/12 职场文书
听证会主持词
2015/07/03 职场文书
先进工作者主要事迹材料
2015/11/03 职场文书
python pyhs2 的安装操作
2021/04/07 Python
动视暴雪取消疫苗禁令 让所有员工返回线下工作
2022/04/03 其他游戏