jQuery遮罩层实例讲解


Posted in jQuery onMay 11, 2017

本文实例为大家分享了jQuery遮罩层展示的具体代码,供大家参考,具体内容如下

1.1 背景半透明遮罩层样式

需要一个黑色(当然也可以其他)背景,且须设置为绝对定位,以下是项目中用到的css样式:

/* 半透明的遮罩层 */
#overlay {
  background: #000;
  filter: alpha(opacity=50); /* IE的透明度 */
  opacity: 0.5; /* 透明度 */
  display: none;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 100; /* 此处的图层要大于页面 */
  display:none;
}

1.2 jQuery实现遮罩

/* 显示遮罩层 */
function showOverlay() {
  $("#overlay").height(pageHeight());
  $("#overlay").width(pageWidth());

  // fadeTo第一个参数为速度,第二个为透明度
  // 多重方式控制透明度,保证兼容性,但也带来修改麻烦的问题
  $("#overlay").fadeTo(200, 0.5);
}

/* 隐藏覆盖层 */
function hideOverlay() {
  $("#overlay").fadeOut(200);
}

/* 当前页面高度 */
function pageHeight() {
  return document.body.scrollHeight;
}

/* 当前页面宽度 */
function pageWidth() {
  return document.body.scrollWidth;
}

1.3 提示框

遮罩的目的无非让人无法操作内容,突出提示框,而提示框可参考上面的制作,z-index比遮罩层更高便可。主要问题是,如何控制提示框在浏览器居中。

/* 定位到页面中心 */
function adjust(id) {
  var w = $(id).width();
  var h = $(id).height();
  
  var t = scrollY() + (windowHeight()/2) - (h/2);
  if(t < 0) t = 0;
  
  var l = scrollX() + (windowWidth()/2) - (w/2);
  if(l < 0) l = 0;
  
  $(id).css({left: l+'px', top: t+'px'});
}

//浏览器视口的高度
function windowHeight() {
  var de = document.documentElement;

  return self.innerHeight || (de && de.clientHeight) || document.body.clientHeight;
}

//浏览器视口的宽度
function windowWidth() {
  var de = document.documentElement;

  return self.innerWidth || (de && de.clientWidth) || document.body.clientWidth
}

/* 浏览器垂直滚动位置 */
function scrollY() {
  var de = document.documentElement;

  return self.pageYOffset || (de && de.scrollTop) || document.body.scrollTop;
}

/* 浏览器水平滚动位置 */
function scrollX() {
  var de = document.documentElement;

  return self.pageXOffset || (de && de.scrollLeft) || document.body.scrollLeft;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
基于jQuery实现文字打印动态效果
Apr 21 jQuery
基于jQuery的表单填充实例
Aug 22 jQuery
Django中使用jquery的ajax进行数据交互的实例代码
Oct 15 jQuery
jQuery中图片展示插件highslide.js的简单dom
Apr 22 jQuery
jQuery实现的页面弹幕效果【测试可用】
Aug 17 jQuery
JQuery中queue方法用法示例
Jan 31 jQuery
浅谈JS和jQuery的区别
Mar 27 jQuery
jQuery中DOM常见操作实例小结
Aug 01 jQuery
JQuery中DOM节点的操作与访问方法实例分析
Dec 23 jQuery
jQuery操作元素追加内容示例
Jan 10 jQuery
jQuery实现手风琴效果(蒙版)
Jan 11 jQuery
jQuery实现雪花飘落效果
Aug 02 jQuery
jQuery zTree树插件动态加载实例代码
May 11 #jQuery
jQuery实现的简单在线计算器功能
May 11 #jQuery
jQuery+PHP+Mysql实现抽奖程序
Apr 12 #jQuery
JQuery实现定时刷新功能代码
May 09 #jQuery
jQuery插件开发发送短信倒计时功能代码
May 09 #jQuery
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
May 08 #jQuery
jquery平滑滚动到顶部插件使用详解
May 08 #jQuery
You might like
PHP 引用文件技巧
2010/03/02 PHP
php中in_array函数用法探究
2014/11/25 PHP
PHP使用redis实现统计缓存mysql压力的方法
2015/11/14 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
将jQuery应用于login页面的问题及解决
2009/10/17 Javascript
jquery $.ajax相关用法分享
2012/03/16 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
js返回上一页并刷新代码整理
2012/12/21 Javascript
基于JavaScript实现继承机制之原型链(prototype chaining)的详解
2013/05/07 Javascript
浅谈类似于(function(){}).call()的js语句
2015/03/30 Javascript
Jquery简单实现GridView行高亮的方法
2015/06/15 Javascript
AngularJS自定义控件实例详解
2016/12/13 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
2016/12/27 Javascript
详解JavaScript树结构
2017/01/09 Javascript
AngularJs中 ng-repeat指令中实现含有自定义指令的动态html的方法
2017/01/19 Javascript
vue数据双向绑定原理解析(get &amp; set)
2017/03/08 Javascript
nodejs个人博客开发第二步 入口文件
2017/04/12 NodeJs
AngularJS 表单验证手机号的实例(非必填)
2017/11/12 Javascript
微信小程序实现tab切换效果
2017/11/21 Javascript
详解微信小程序-canvas绘制文字实现自动换行
2019/04/26 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
深度剖析使用python抓取网页正文的源码
2014/06/11 Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
2017/04/14 Python
Python算术运算符实例详解
2017/05/31 Python
Python语言描述最大连续子序列和
2017/12/05 Python
python实现黑客字幕雨效果
2018/06/21 Python
python实现将读入的多维list转为一维list的方法
2018/06/28 Python
Python格式化日期时间操作示例
2018/06/28 Python
解决django model修改添加字段报错的问题
2019/11/18 Python
python3让print输出不换行的方法
2020/08/24 Python
高中微机老师自我鉴定
2014/02/16 职场文书
课外访万家心得体会
2014/09/03 职场文书
2014各大专业毕业生自我评价
2014/09/17 职场文书
营销计划书
2015/01/17 职场文书
信息技术国培研修日志
2015/11/13 职场文书
想要创业,那么你做好准备了吗?
2019/07/01 职场文书