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 相关文章推荐
使用jQuery.Validate进行客户端验证(初级篇) 不使用微软验证控件的理由
Jun 28 Javascript
jquery中通过过滤器获取表单元素的实现代码
Jul 05 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
Feb 06 Javascript
js中遍历对象的属性和值的方法
Jul 27 Javascript
Bootstrap中点击按钮后变灰并显示加载中实例代码
Sep 23 Javascript
JavaScript实现窗口抖动效果
Oct 19 Javascript
js通过Date对象实现倒计时动画效果
Oct 27 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
Apr 18 Javascript
Layui 导航默认展开和菜单栏选中高亮设置的方法
Sep 04 Javascript
详解Vue之事件处理
Jul 10 Javascript
WebPack工具运行原理及入门教程
Dec 02 Javascript
js中实现继承的五种方法
Jan 25 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
echo, print, printf 和 sprintf 区别
2006/12/06 PHP
PHP中使用正则表达式提取中文实现笔记
2015/01/20 PHP
PHP 7.0.2 正式版发布
2016/01/08 PHP
PHP6连接SQLServer2005的三部曲
2016/04/15 PHP
php项目开发中用到的快速排序算法分析
2016/06/25 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
2016/11/08 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
2017/07/04 PHP
PHP常用操作类之通信数据封装类的实现
2017/07/16 PHP
PHP 应用容器化以及部署方法
2018/02/12 PHP
Google Map API更新实现用户自定义标注坐标
2009/07/29 Javascript
javascript的创建多行字符串的7种方法
2014/04/29 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
2015/07/31 Javascript
JS实现超简单的鼠标拖动效果
2015/11/02 Javascript
Javascript随机标签云代码实例
2016/06/21 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
2016/09/27 Javascript
原生js实现无缝轮播图效果
2017/01/11 Javascript
学好js,这些js函数概念一定要知道【推荐】
2017/01/19 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
详解node如何让一个端口同时支持https与http
2017/07/04 Javascript
react-native-tab-navigator组件的基本使用示例代码
2017/09/07 Javascript
图片懒加载imgLazyLoading.js使用详解
2020/09/15 Javascript
vue 弹窗时 监听手机返回键关闭弹窗功能(页面不跳转)
2019/05/10 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
2019/08/26 Javascript
Vue中使用matomo进行访问流量统计的实现
2019/11/05 Javascript
electron+vue实现div contenteditable截图功能
2020/01/07 Javascript
[57:18]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#3VP VS VG
2016/03/03 DOTA
django框架使用方法详解
2019/07/18 Python
python实现H2O中的随机森林算法介绍及其项目实战
2019/08/29 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
keras的ImageDataGenerator和flow()的用法说明
2020/07/03 Python
JRE、JDK、JVM之间的关系怎样
2012/05/16 面试题
办公室主任岗位职责
2013/11/08 职场文书
自动化专业个人求职信范文
2013/11/29 职场文书
毕业生自荐信
2013/12/14 职场文书
加工操作管理制度
2014/01/19 职场文书
Vue如何清空对象
2022/03/03 Vue.js