1.让层始终显示在屏幕正中间:

样式代码:

  1. .model{
  2. position: absolute; z-index: 1003;
  3. width:320px; height:320px; text-align:center;
  4. background-color:#0066FF; display: none;
  5. }

jquery代码:

  1. //让指定的DIV始终显示在屏幕正中间
  2. function letDivCenter(divName){
  3. var top = ($(window).height() - $(divName).height())/2;
  4. var left = ($(window).width() - $(divName).width())/2;
  5. var scrollTop = $(document).scrollTop();
  6. var scrollLeft = $(document).scrollLeft();
  7. $(divName).css( { position : 'absolute', 'top' : top + scrollTop, left : left + scrollLeft } ).show();
  8. }

html代码:

  1. <a href="javascript:;" onclick="letDivCenter('#model')">点我让DIV始终显示在屏幕中间</a><br />
  2. <div>
  3. <div id="model" class="model">
  4. 这是内容(不过没有垂直居中显示)希望各位高手,能够补充。小弟在此谢过了。
  5. </div>
  6. </div>

运行一下看看效果吧。

接下来总结一下,将它们整合成一个。即,当弹出div层的时候,同时也要弹出遮罩层,好,废话不多说,看代码:

   1。CSS样式:

  1. <style type="text/css">
  2. .mask {
  3. position: absolute; top: 0px; filter: alpha(opacity=60); background-color: #777;
  4. z-index: 1002; left: 0px;
  5. opacity:0.5; -moz-opacity:0.5;
  6. }
  7. .model{
  8. position: absolute; z-index: 1003;
  9. width:320px; height:320px; text-align:center;
  10. background-color:#0066FF; display: none;
  11. }
  12. </style>

   2。Jquery代码:

  1. <script type="text/javascript">
  2. //兼容火狐、IE8
  3. function showMask(){
  4. $("#mask").css("height",$(document).height());
  5. $("#mask").css("width",$(document).width());
  6. $("#mask").show();
  7. }
  8. //让指定的DIV始终显示在屏幕正中间
  9. function letDivCenter(divName){
  10. var top = ($(window).height() - $(divName).height())/2;
  11. var left = ($(window).width() - $(divName).width())/2;
  12. var scrollTop = $(document).scrollTop();
  13. var scrollLeft = $(document).scrollLeft();
  14. $(divName).css( { position : 'absolute', 'top' : top + scrollTop, left : left + scrollLeft } ).show();
  15. }
  16. function showAll(divName){
  17. showMask();
  18. letDivCenter(divName);
  19. }
  20. </script>

3.HTML代码:

  1. <div id="mask" class="mask"></div>
  2. <a href="javascript:;" onclick="showMask()" >点我显示遮罩层</a><br />
  3. <a href="javascript:;" onclick="letDivCenter('#model')">点我让DIV始终显示在屏幕中间</a><br />
  4. <a href="javascript:;" onclick="showAll('#model')">点我显示所有</a><br />
  5. <div>
  6. <div id="model" class="model">
  7. 这是内容(不过没有垂直居中显示)希望各位高手,能够补充。小弟在此谢过了。
  8. </div>
  9. </div>

JQuery 弹出层,始终显示在屏幕正中间的更多相关文章

  1. jQuery弹出层始终垂直居中相对于屏幕或当前窗口

    把弹出层的位置设为fixed,设置top:50%,然后获取当前元素的整体的高度height,用获取的高度height/2,设置margin-top:-height/2.即可把当前的弹出层始终垂直居中于 ...

  2. 【转载】jQuery弹出层始终垂直居中于当前屏幕

    一般网站上肯定有一些弹出框,不论弹出框的大小,都需要他在当前窗口垂直居中.之前手上就有一个jQuery的例子,后来才发现,他只能在第一屏垂直居中,如果滑动滚动条,弹出的框就在上方,不是很方便.请教朋友 ...

  3. JQuery弹出层,实现弹层切换,可显示可隐藏。

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <t ...

  4. JQuery弹出层,点击按钮后弹出遮罩层,有关闭按钮【转】

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <t ...

  5. 基于jQuery弹出层图片动画查看代码

    分享一款基于jQuery弹出层图片动画查看代码是一款鼠标单击文字或图片内容放大显示且含圆角投影效果.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class=&q ...

  6. 【jquery】fancybox 是一款优秀的 jquery 弹出层展示插件

    今天给大家分享一款优秀的 jquery 弹出层展示插件 fancybox.它除了能够展示图片之外,还可以展示 flash.iframe 内容.html 文本以及 ajax 调用,我们可以通过 css ...

  7. JQuery弹出层,点击按钮后弹出遮罩层,有关闭按钮

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <t ...

  8. jQuery弹出层效果

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta ...

  9. 效果非常好的 Jquery弹出层插件 jQuery Sweet alert

    介绍款交互性非常不错的jquery弹出层插件,支持消息提示.错误提示.确认框提示等. 交互式体验感非常不错,比如咱们现在体验非常不错的微信支付.支付宝等完成后的效果. 不过本插件至少支持IE9+ Jq ...

随机推荐

  1. 【转】ubuntu下安装eclipse以及配置python编译环境

    原文网址:http://blog.csdn.net/wangpengwei2/article/details/17580589 一.安装eclipse 1.从http://www.eclipse.or ...

  2. HttpWebRequest代理访问网站

    private void button1_Click(object sender, EventArgs e) { string str ="http://www.7y8.com/V/ip.a ...

  3. perl环境配置以及Eclipse安装perl开发插件

    简介: 这篇文章将详细介绍 EPIC 组件的安装,EPIC 编辑环境,调试运行环境,着重介绍如何使用 EPIC 来快速.简便.准确地调试 Perl 语言程序,包括对于 Perl 程序的单步执行,断点用 ...

  4. Nodepad++ tab改成4个空格

    设置-首选项-选项卡设置-使用空格替换

  5. 安装Sikulix

    1.sikulix可以在xp,win7,8,10 Mac 10.10.x 以及Linux/Unix 系统上安装 2.安装Java支持 3.下载sikulisetup1.1.0.jar(那里下前篇有介绍 ...

  6. Boost下载安装编译配置使用指南

    转载:http://www.cppblog.com/jerryma/archive/2011/10/17/158554.html --更新于2011/7/19,目前我已对boost的安装和使用有了新的 ...

  7. 【c++】输出 0000,0001,0002,0003,0004...这样的字符串

    #include <iostream> #include <iomanip> ; ){ stringstream buf; buf <<setfill()<& ...

  8. 分布式数据库hbase详解

    新霸哥注意到了在人类随着计算机技术的发展,数据的存储量发生了很大的变化,可以用海量来形容,同时,存储的数据类型也是有多种多样的,网页,图片,视频,音频,电子邮件等等,所以在这中情况下以谷歌旗下的Big ...

  9. POJ2406----Power Strings解题报告

    Power Strings Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 43514   Accepted: 18153 D ...

  10. cocos2d-x 3.2 DrawNode 绘图API

    关于Cocos2d-x 3.x 版本的绘图方法有两种: 1.使用DrawNode类绘制自定义图形. 2.继承Layer类重写draw()方法. 以上两种方法都可以绘制自定义图形,根据自己的需要选择合适 ...