最近偏离学术的道路越来越远了!!

今天要小结的是实现一个半透明遮罩效果。点击页面上的一个按钮,立即在屏幕的正中央显示某个部件,并且在这个部件之外的区域像是蒙上了一层半透明的遮罩。点击遮罩区域,该正中央的部件消失,页面恢复成原来样子。

首先谈谈最简单的实现方式吧。准备两个div,一个是幕布<div class="bg"></div>,另一个是要显示在屏幕正中央的部件<div class="content"></div>,content 里面要显示什么东东,就由你自己去定义了。可以是图片,也可以是图表、视频什么的。然后就是添加效果,使得它有我们的效果。

1.既然点击了按钮,要遮住原网页,于是给这两个div设置显示优先级:z-index, 把content的设成3,bg的设成2

2 既然要半透明,那就给bg这个遮罩上一个颜色吧:background:#000

3 一开始他们是隐藏的:display:none. 某事件触发后,才显示,这就要用jquery的语句了:$('.bg').fadeIn(200);$('.content').fadeIn(400);

好了,就差不多了,很简单吧,完整的代码如下:

<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
.bg{display:none;position:fixed;width:100%;height:100%;background:#000;z-index:2;top:0;left:0;opacity:0.7;}
.content{display:none;width:500px;height:300px;position:fixed;top:50%;margin-top:-150px;background:#fff;z-index:3;left:50%;margin-left:-250px;}
</style>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"> </script>
<body>
<p><div class="click1" style="color:red">点击这里</div></p>
<div> 下面是网页的正文内容 blablabla </div>
<div class="bg"></div>
<div class="content">
<h1>欢迎新浪微博互粉!</h1>
http://www.weibo.com/leavingseason
<h1>相信音乐,相信五月天</h1>
</div> <script type="text/javascript">
$(function(){ $('.click1').click(function(){
$('.bg').fadeIn(200);
$('.content').fadeIn(400);
}); $('.bg').click(function(){
$('.bg').fadeOut(800);
$('.content').fadeOut(800);
});
});
</script>
</body> </html>

这种原生态的实现比较省事。还有一些插件可以提供类似的功能的。比如fancybox :  http://fancybox.net/

fancybox里面的demo比较好看,毕竟这是专业的嘛,大家感兴趣不妨浏览一下。接口也很简单,基本几分钟就学会了。

如果你想弹出来的是对话框,那么可以考虑试试jQuery UI: http://jqueryui.com/dialog/ . 这上面有好几种对话框的形式。

还有一些插件,比如pop easy, thick box啊等等。但是要用插件嘛,毕竟会有些麻烦。有些插件它是收费的,就给你这么几天的试用期;有些插件你也不好说它什么时候就不更新了,这对你的网页的兼容性会有影响。所以啦,最好还是用我的第一种推荐方式了。

最新文章

  1. Cisco VPN can&#39;t work in Win8
  2. 原创:微信小程序源码解说:石头剪刀布(附源码下载)
  3. _beginthreadex注意事项
  4. SVN服务器的搭建和使用
  5. CSAPP读书随笔之一:为什么汇编器会将call指令中的引用的初始值设置为-4
  6. RAC Concept
  7. EntityFramework系列:SQLite.CodeFirst自动生成数据库
  8. react mixins编写
  9. 杂记 C中的volatile
  10. [SQL]声明触发器 &lt;待整理&gt;
  11. iOS 在任意界面 Dismiss Keyboard
  12. Linux恢复删除文件
  13. S3C2440触摸屏驱动实例开发讲解
  14. USB做Host的OTG原理
  15. PHP 之 Laravel 框架安装及相关开源软件
  16. UVa11613 Acme Corporation(最小费用流)
  17. JQuery或JavaScript获取网页的宽度、高等
  18. debia下安装libjpeg
  19. 高性能 Lua 技巧(译)
  20. 【转载】Linux时间相关结构与函数

热门文章

  1. Spring restTemplate
  2. python的super函数学习
  3. Jmeter参数的AES加密使用
  4. linux下ftp连接:530 Permission denied
  5. Siki_Unity_3-6_UI框架 (基于UGUI)
  6. python 基础篇01
  7. 前端开发利器 livereload -- 从此告别浏览器F5键
  8. Redis源码阅读(三)集群-连接初始化
  9. 【Docker】Docker 目录
  10. 高可用OpenStack(Queen版)集群-7.Neutron控制/网络节点集群