以前一直以为遮罩都是鼠标移上去,改变透明度实现的,后来看到过这样的一个遮罩动画,然后今天自己写了一个,因为弹出的遮罩是圆形的,所以从美观上来说,这个遮罩效果更适合于方形图片。

<div class="container">
<ul class="bannerHolder">
<li>
<div class="banner">
<a href="#"><img src="1.jpg" width="150" height="150"></a>
<p>这是第一张图片</p>
<div class="cornerTL"></div>
<div class="cornerTR"></div>
<div class="cornerBL"></div>
<div class="cornerBR"></div>
</div>
</li>
<li>
<div class="banner">
<a href="#"><img src="2.jpg" width="150" height="150"></a>
<p>这是第二张图片</p>
<div class="cornerTL"></div>
<div class="cornerTR"></div>
<div class="cornerBL"></div>
<div class="cornerBR"></div>
</div>
</li>
<li>
<div class="banner">
<a href="#"><img src="3.jpg" width="150" height="150"></a>
<p>这是第三张图片</p>
<div class="cornerTL"></div>
<div class="cornerTR"></div>
<div class="cornerBL"></div>
<div class="cornerBR"></div>
</div>
</li>
<li>
<div class="banner">
<a href="#"><img src="4.jpg" width="150" height="150"></a>
<p>这是第四张图片</p>
<div class="cornerTL"></div>
<div class="cornerTR"></div>
<div class="cornerBL"></div>
<div class="cornerBR"></div>
</div>
</li>
<li>
<div class="banner">
<a href="#"><img src="5.jpg" width="150" height="150"></a>
<p>这是第五张图片</p>
<div class="cornerTL"></div>
<div class="cornerTR"></div>
<div class="cornerBL"></div>
<div class="cornerBR"></div>
</div>
</li>
<li>
<div class="banner">
<a href="#"><img src="6.jpg" width="150" height="150"></a>
<p>这是第六张图片</p>
<div class="cornerTL"></div>
<div class="cornerTR"></div>
<div class="cornerBL"></div>
<div class="cornerBR"></div>
</div>
</li>
</ul>
</div>

首先,是一个class名为container的div作为容器来放置这些图片,然后用ul li标签来排列图片,这里需要着重说明的是,将图片,文字,还有四周遮罩都放在一个class名为banner的div里。

 @charset "utf-8";
html, body, p {
border: 0 ;
margin:;
padding:;
outline-style: none;
font-size: 12px;
}
.container{
margin: 50px; }
.bannerHolder{
width: 1020px;
padding: 20px 10px 20px 10px;
background-color: #f7f7f7;
overflow: hidden; border-radius: 12px;
}
.bannerHolder li {
list-style: none;
display: inline;
}
.banner{
width: 150px;
height: 150px;
cursor: pointer;
position: relative;
float: left;
overflow: hidden; margin: 0 10px;
}
.banner img {
display: block;
border: none;
}
.banner div{
width: 60px;
height:60px;
background-color: #222;
opacity: 0.3;
z-index:;
position: absolute;
border-radius: 100px;
}
.banner .cornerTL { left:-63px; top:-63px; }
.banner .cornerTR { right:-63px; top:-63px; }
.banner .cornerBL { left:-63px; bottom:-63px; }
.banner .cornerBR { right:-63px; bottom:-63px; }
.banner p{
width: 100%;
left:;
position: absolute;
color: #fff;
z-index:;
text-align: center;
display: none;
top:65px;
cursor: pointer;
}

这是css的部分,.banner中设置左浮动使图片等行排列,并且.banner的宽和高与图片的宽和高一致,这样弹出的遮罩的圆才会在中心处。将遮罩cornerTL  cornerTR  cornerBL  cornerBR放在四个角上,然后通过div的overflow: hidden将遮罩隐藏起来

<script type="text/javascript">
$('.banner').hover(function(){
var el = $(this);
el.find('div').stop().animate({width:220,height:220},'slow',function(){
el.find('p').fadeIn('fast');
});
},function(){
var el = $(this);
el.find('p').hide();
el.find('div').stop().animate({width:60,height:60},'fast');
}).click(function(){
window.open($(this).find('a').attr('href'));
});
</script>

这是jquery的部分,注意首先要引入jquery的库。

然后通过hover来实现鼠标移进移出的功能。用animate动画将遮罩的宽和高放大,四角重叠,实现好看的遮罩,并且文字的出现和消失,以及点击会打开一个新的页面。

这是最后实现的效果图,遮罩会从四周弹出,自己下载代码看一下吧。

jquery动画遮罩的更多相关文章

  1. jQuery动画的实现

    没有引入deferred机制,其余流程都有了 //////////// //创建动画缓动对象 // //////////// function Tween(value, prop, animation ...

  2. 深入学习jQuery动画控制

    × 目录 [1]动画状态 [2]停止动画 [3]动画延迟[4]全局控制 前面的话 jQuery动画可以使用fade.hide.slide等方法实现基本动画效果,可以使用animate实现自定义动画,甚 ...

  3. 深入学习jQuery动画队列

    前面的话 队列实现是jQuery非常棒的一个拓展,使用动画队列可以使动画更容易实现.本文将详细介绍jQuery动画队列 queue() queue()方法用来显示在匹配的元素上的已经执行的函数队列 q ...

  4. jquery动画,基础以及我发现的新大陆

    $.animate()在jquery官方介绍有2中方式,其实我发现的新大陆也是第二种方式的扩展! 一.$.animate( properties [, duration ] [, easing ] [ ...

  5. 让网站动起来!12款优秀的 jQuery 动画插件推荐

    如今,大多数设计师和开发人员被要客户要求开发动态的网站.创造视觉震撼和醒目的动态网站是艰巨的任务,因为它需要大量的努力和创造力.在网络上有大量的工具和插件可用于创建网站动画.许多开发人员正在使用 HT ...

  6. jQuery动画特效实例教程

    本文以实例形式详细讲述了jQuery动画特效的实现方法. 1.自制折叠内容块 内容块如下:     <div class="module">   <div cla ...

  7. JQuery动画效果

    jquery动画效果常用方法 1.show()显示效果语法:show(speed,callback)Number/String,Function speend为动画执行时间,单位为毫秒.也可以为slo ...

  8. jQuery动画特效笔记

    show().hide().fadeIn().fadeOut().slideDown.slideUp.slideToggle()都接受可选的时长和回调参数(选项对象参数). toggle(durati ...

  9. Velocity – 另外一款加速的 jQuery 动画插件

    Velocity 是一款 jQuery 插件,重新实现了 $.animate() 方法,提供更高的性能(比 CSS 动画还更快),同时包括一些新的功能,以改进动画工作流程.Velocity 除了包括所 ...

随机推荐

  1. Google 开发新的开源系统 Fuchsia

    google 最新os 下载 https://github.com/fuchsia-mirror/magenta 本文转自:http://www.oschina.net/news/76094/goog ...

  2. Android中Base64的简单使用

    服务端图片的信息被转化成字符串,传到android客户端,android端需要把这些信息再解码转化成图片并保存在本地. //编码部分 String string = Base64.encodeToSt ...

  3. ServerMediaSession::generateSDPDescription分析

    //顾名思义,就是用来生成sdp描述信息的. char* ServerMediaSession::generateSDPDescription() { //获取本地IP地址 AddressString ...

  4. TEXT、TINYTEXT、MEDIUMTEXT、LONGTEXT选择 和 char varchar varchar2 的区别

    TEXT.TINYTEXT.MEDIUMTEXT.LONGTEXT选择: 储存不区分大小写的字符数据 TINYTEXT 最大长度是 255 (2^8 - 1) 个字符. TEXT 最大长度是 6553 ...

  5. 关于iframe嵌套、动态获取iframe内的url、父页面重定向-2

    经过学习,发现了一种更好的办法 试验如下 1.html的内容如下: (2.html和3.html没有jquery,只有body的222和333) 结果为: 其实最容易搞糊涂的是,什么时候算self,其 ...

  6. app framework map及ajax方法

    $(function () { $.ajax({ url: 'Ashx/GetProductList.ashx', contentType: "JSON", success: fu ...

  7. 周赛-kiki's game 分类: 比赛 2015-08-02 09:24 7人阅读 评论(0) 收藏

    kiki's game Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 40000/10000 K (Java/Others) Total S ...

  8. mysql replication之binlog-do-db、binlog-ignore-db

    再次整理管理mysql复制的资料,一直搞不明白为什么mysql的启动参数里面有两个binlog-do-db.binlog-ignore-db 这次仔细的阅读了mysql的帮助手册,整理一下对于一条语句 ...

  9. HTML5之结构元素

    1:文档结构元素 1.1 文章语义 --  article.header和footer元素 article元素在页面中用来表示结构完整且独立的内容部分,如论坛的一个帖子,杂志或者报纸的一篇文章. ar ...

  10. ecshop商品分类页获取相册列表方法

    第1步:找到根目录的category.php文件,查找约:486行左右(注意这不是准确位置,看实际的哦),找到这个函数: /** * 获得分类下的商品 * * @access public * @pa ...