jQuery的animate函数实现图文切换动画效果


Posted in Javascript onMay 03, 2015

在一些图片网站上我们可以看到在展示图片的时候,用鼠标轻轻滑上图片可以看到该图片的文字介绍信息,其实用jQuery的animate函数就可以实现这样一个动画过程。

<div class="wrap"> 
  <img src="images/s1.jpg" alt="photo" /> 
  <div class="cover"> 
    <h3>强震摧毁加勒比海小国海地</h3> 
    <p>今年,战争、经济动荡和自然灾害席卷全球,制造了无数的伤痛;但是,在痛苦的同时仍有明亮的瞬间存在。</p> 
    <p><a href="#">查看详情</a></p> 
  </div> 
</div>

我们用一个DIV.wrap放置一张图片,以及一个需要覆盖的div.cover,cover里面放置图片的介绍信息,支持任意标准的html内容。然后将上述代码复制多个,排列成一组图片。

CSS

我们需要用CSS将.wrap排成行,并且要将.cover覆盖层隐藏一部分,当鼠标滑上去是通过调用jquery才显示出来。

.wrap{position:relative; float:left; width: 200px; height:200px; margin:5px; 
background:#e8f5fe; overflow:hidden;} 
.wrap img{position:absolute; top:0; left:0} 
.wrap h3{line-height:30px; font-size:14px; color:#fff} 
.wrap p{line-height:20px} 
.cover{position:absolute; background:#000; height:120px; width:100%; 
padding:3px; top:170px; }

值得注意的是,隐藏.cover一部分使用了position:absolute绝对定位,将覆盖层.cover只显示标题部分,只需设置top:170px,因为这个.wrap的高度是200px,而标题h3的高度为30px,相减得之。

jQuery

首先我将覆盖层的透明度设置为0.8,然后当鼠标滑上图片时,使用hover函数来调用animate动画。

$(function(){ 
  $(".cover").css("opacity",.8); 
  $(".wrap").hover(function(){ 
    $(".cover", this).stop().animate({top:"80px"},{queue:false,duration:160}); 
  },function(){ 
    $(".cover", this).stop().animate({top:"170px"},{queue:false,duration:160}); 
  }); 
});

animate函数是jQuery用于创建自定义动画的函数。这个函数的关键在于指定动画形式及结果样式属性对象。这个对象中每个属性都表示一个可以变化的样式属性(如“height”、“top”或“opacity”)。而每个属性的值表示这个样式属性到多少时动画结束。如果是一个数值,样式属性就会从当前的值渐变到指定的值。如果使用的是“hide”、“show”或“toggle”这样的字符串值,则会为该属性调用默认的动画形式。

以上所述就是本文的全部内容了,希望大家能够喜欢、

Javascript 相关文章推荐
js 优化次数过多的循环 考虑到性能问题
Mar 05 Javascript
基于Jquery的仿照flash放大图片效果代码
Mar 16 Javascript
JavaScript学习笔记之数组随机排序
Mar 23 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
Jul 27 Javascript
js实现常用排序算法
Aug 09 Javascript
bootstrap datepicker限定可选时间范围实现方法
Sep 28 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
Apr 10 jQuery
vue实现图书管理demo详解
Oct 17 Javascript
详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持
Oct 21 Javascript
详谈DOM简介及节点、属性、查找节点的方法
Nov 16 Javascript
Vue.js如何使用Socket.IO的示例代码
Sep 05 Javascript
js调用网络摄像头的方法
Dec 05 Javascript
php+ajax+jquery实现点击加载更多内容
May 03 #Javascript
jquery插件hiAlert实现网页对话框美化
May 03 #Javascript
javascript结合canvas实现图片旋转效果
May 03 #Javascript
浅谈javascript语法和定时函数
May 03 #Javascript
Jquery中的$.each获取各种返回类型数据的使用方法
May 03 #Javascript
JQuery简单实现锚点链接的平滑滚动
May 03 #Javascript
jQuery中 attr() 方法使用小结
May 03 #Javascript
You might like
什么情况下可以不写PHP的闭合标签“?&gt;”
2014/08/28 PHP
PHP合并数组+号和array_merge的区别
2015/06/25 PHP
php开发工具有哪五款
2015/11/09 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
PHP实现接收二进制流转换成图片的方法
2017/01/10 PHP
jQuery 验证插件 Web前端设计模式(asp.net)
2010/10/17 Javascript
JQuery实现用户名无刷新验证的小例子
2013/03/22 Javascript
控制input输入框中提示信息的显示和隐藏的方法
2014/02/12 Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
2014/10/29 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
js时间戳转为日期格式的方法
2015/12/28 Javascript
BootStrap下jQuery自动完成的样式调整
2016/05/30 Javascript
全面理解闭包机制
2016/07/11 Javascript
Nodejs多站点切换Htpps协议详解及简单实例
2017/02/23 NodeJs
基于vue2框架的机器人自动回复mini-project实例代码
2017/06/13 Javascript
使用p5.js临摹动态图形
2019/10/23 Javascript
JavaScript计算出两个数的差值
2020/03/19 Javascript
[01:51]2014DOTA2西雅图邀请赛 MVP 外卡赛black场间采访
2014/07/09 DOTA
[45:38]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第一局
2016/03/02 DOTA
[51:44]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第二场
2018/04/04 DOTA
Python中%是什么意思?python中百分号如何使用?
2018/03/20 Python
pandas数据框,统计某列数据对应的个数方法
2018/04/11 Python
scikit-learn线性回归,多元回归,多项式回归的实现
2019/08/29 Python
python 利用jinja2模板生成html代码实例
2019/10/10 Python
python/Matplotlib绘制复变函数图像教程
2019/11/21 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
2019/12/04 Python
Django分组聚合查询实例分享
2020/04/29 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
如何一键升级Python所有包
2020/11/05 Python
澳大利亚和新西兰最大的在线旅行社之一:Aunt Betty
2019/08/07 全球购物
实习护理工作自我评价
2013/09/25 职场文书
《望洞庭》教学反思
2014/02/16 职场文书
教师专业自荐信
2014/05/31 职场文书
环保标语大全
2014/06/12 职场文书
领导班子四风表现材料
2014/08/23 职场文书
2016春季田径运动会广播稿
2015/12/21 职场文书