jQuery实现的浮动层div浏览器居中显示效果


Posted in Javascript onFebruary 03, 2017

本文实例讲述了jQuery实现的浮动层div浏览器居中显示效果。分享给大家供大家参考,具体如下:

1.在页面的head中引入jQuery

<script type="text/javascript" language="javascript" src="jquery-1.7.2.min.js"></script>

2.在页面的head中加入浮动层和遮罩层的样式

<style>
#previewDiv{z-index: 9999;position:absolute;display:none;background:#fff;border-top:5px solid #999;border-bottom:7px solid #999;border-left:5px solid #999;border-right:7px solid #999;}
.mask {color:#C7EDCC;background-color:#999;position:absolute;top:0px;left:0px;width:100%;height:3000px;opacity: 0.6;filter: "alpha(opacity=60)";filter: alpha(Opacity=60);}
</style>

3.在页面的底部加上浮动的div

<div id="previewDiv">
  <table id ="head">
    <tr><td>短消息预览</td></tr>
  </table>
  <table align="center">
    <tr><td>
      <div class="zhnx_neirong">
        <h3>您收到了来自三水点靠木的回复</h3>
        <p class="duanluo">  内容:这是浮动层居中的实例</span></p>
      </div>
      <div class="zhnx_huifu"><p><a href="javascript:open('https://3water.com/');">查看三水点靠木</a></p></div>
    </td></tr>
  </table>
  <table align="center">
    <tr><td><div><input type="button" value=" 关 闭 " onclick="hide();"/></div></td></tr>
  </table>
</div>

4.添加显示和隐藏的js函数

function show(){
    //添加并显示遮罩层
    $("<div id='mask'></div>").addClass("mask").click(function() {}) .appendTo("body").fadeIn(0);
    document.getElementById("mask").style.display = "block";
    var windowWidth = document.documentElement.clientWidth;
    var windowHeight = document.documentElement.clientHeight;
    var popupHeight = $("#previewDiv").height();
    var popupWidth = $("#previewDiv").width();
    $("#previewDiv").css({
      "position": "absolute",
      "top": (windowHeight-popupHeight)/2+$(document).scrollTop(),
      "left": (windowWidth-popupWidth)/2
    });
    $("#previewDiv").show();
}
function hide(){
    $("#mask").remove();
    $("#previewDiv").hide();
}

完整实例代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
<script type="text/javascript" language="javascript" src="jquery-1.7.2.min.js"></script>
</head>
<body>
<style>
#previewDiv{z-index: 9999;position:absolute;display:none;background:#fff;border-top:5px solid #999;border-bottom:7px solid #999;border-left:5px solid #999;border-right:7px solid #999;}
.mask {color:#C7EDCC;background-color:#999;position:absolute;top:0px;left:0px;width:100%;height:3000px;opacity: 0.6;filter: "alpha(opacity=60)";filter: alpha(Opacity=60);}
</style>
<div id="previewDiv">
  <table id ="head">
    <tr><td>短消息预览</td></tr>
  </table>
  <table align="center">
    <tr><td>
      <div class="zhnx_neirong">
        <h3>您收到了来自三水点靠木的回复</h3>
        <p class="duanluo">  内容:这是浮动层居中的实例</span></p>
      </div>
      <div class="zhnx_huifu"><p><a href="javascript:open('https://3water.com/');">查看三水点靠木</a></p></div>
    </td></tr>
  </table>
  <table align="center">
    <tr><td><div><input type="button" value=" 关 闭 " onclick="hide();"/></div></td></tr>
  </table>
</div>
<script type="text/javascript" language="javascript" >
 function show(){
    //添加并显示遮罩层
    $("<div id='mask'></div>").addClass("mask").click(function() {}) .appendTo("body").fadeIn(0);
    document.getElementById("mask").style.display = "block";
    var windowWidth = document.documentElement.clientWidth;
    var windowHeight = document.documentElement.clientHeight;
    var popupHeight = $("#previewDiv").height();
    var popupWidth = $("#previewDiv").width();
    $("#previewDiv").css({
      "position": "absolute",
      "top": (windowHeight-popupHeight)/2+$(document).scrollTop(),
      "left": (windowWidth-popupWidth)/2
    });
    $("#previewDiv").show();
  }
  function hide(){
    $("#mask").remove();
    $("#previewDiv").hide();
  }
  show();
</script>
</body>
</html>

运行效果图如下:

jQuery实现的浮动层div浏览器居中显示效果

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
jQuery 浮动广告实现代码
Dec 25 Javascript
JS获取并操作iframe中元素的方法
Mar 21 Javascript
深入分析Javascript跨域问题
Apr 17 Javascript
jQuery ajax MD5实现用户注册即时验证功能
Oct 11 Javascript
JS获取多维数组中相同键的值实现方法示例
Jan 06 Javascript
基于vue2.0实现的级联选择器
Jun 09 Javascript
Angular X中使用ngrx的方法详解(附源码)
Jul 10 Javascript
浅谈Node.js爬虫之网页请求模块
Jan 11 Javascript
JavaScript实现与使用发布/订阅模式详解
Jan 19 Javascript
vue给对象动态添加属性和值的实例
Sep 09 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
Sep 28 Javascript
如何使用 vue-cli 创建模板项目
Nov 19 Vue.js
JavaScript中捕获与冒泡详解及实例
Feb 03 #Javascript
JS基于正则截取替换特定字符之间字符串操作示例
Feb 03 #Javascript
几种tab切换详解
Feb 03 #Javascript
Bootstrap页面缩小变形的快速解决办法
Feb 03 #Javascript
拖动时防止选中
Feb 03 #Javascript
jQuery表格的维护和删除操作
Feb 03 #Javascript
折叠菜单及选择器的运用
Feb 03 #Javascript
You might like
咖啡是不是喝了会上瘾?咖啡是必须品吗!
2021/03/04 新手入门
PHP 日期加减的类,很不错
2009/10/10 PHP
php access 数据连接与读取保存编辑数据的实现代码
2010/05/12 PHP
php解析字符串里所有URL地址的方法
2015/04/03 PHP
深入理解PHP原理之执行周期分析
2016/06/01 PHP
jQuery选择器的工作原理和优化分析
2011/07/25 Javascript
jQuery使用技巧简单汇总
2013/04/18 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
浅析jquery与checkbox的checked属性的问题
2016/04/27 Javascript
JS表单验证方法实例小结【电话、身份证号、Email、中文、特殊字符、身份证号等】
2017/02/14 Javascript
nodejs个人博客开发第五步 分配数据
2017/04/12 NodeJs
H5图片压缩与上传实例
2017/04/21 Javascript
vue2.0 与 bootstrap datetimepicker的结合使用实例
2017/05/22 Javascript
解决JQuery全选/反选第二次失效的问题
2017/10/11 jQuery
一次Webpack配置文件的分离实战记录
2018/11/30 Javascript
详解React项目如何修改打包地址(编译输出文件地址)
2019/03/21 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
vuex + keep-alive实现tab标签页面缓存功能
2019/10/17 Javascript
python实现将pvr格式转换成pvr.ccz的方法
2015/04/28 Python
python计算对角线有理函数插值的方法
2015/05/07 Python
Python 内置函数complex详解
2016/10/23 Python
详解使用python crontab设置linux定时任务
2016/12/08 Python
神经网络理论基础及Python实现详解
2017/12/15 Python
PyTorch里面的torch.nn.Parameter()详解
2020/01/03 Python
Python3实现打印任意宽度的菱形代码
2020/04/12 Python
python 如何设置守护进程
2020/10/29 Python
jupyter notebook远程访问不了的问题解决方法
2021/01/11 Python
机械绘图员岗位职责
2013/11/19 职场文书
收银出纳员岗位职责
2014/02/23 职场文书
仓库管理计划书
2014/05/04 职场文书
2014国庆65周年领导讲话稿(3篇)
2014/09/21 职场文书
餐厅营销的秘密:为什么老顾客会流水?
2019/08/08 职场文书
python 三边测量定位的实现代码
2021/04/22 Python
Nginx配置Https安全认证的实现
2021/05/26 Servers
nginx中proxy_pass各种用法详解
2021/11/07 Servers
「偶像大师 MILLION LIVE!」七尾百合子手办开订
2022/03/21 日漫