jquery animate函数图文切换动画效果实现过程

发布时间:2020-06-17编辑:脚本学堂
有关jquery animate函数实现图文切换效果的一段代码,在展示图片时,用鼠标轻轻滑上图片可以看到该图片的文字介绍信息,可以用jquery animate函数来实现这一动画过程。

jquery animate函数图文切换动画效果

animate()在jquery中作为一个方法,可用于创建动画效果,jquery中的animate()方法增加页面的视觉效果。

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

1、页面内容
 

复制代码 代码示例:
<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内容。
然后,将上述代码复制多个,排列成一组图片。

2、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,相减得之。

3、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”这样的字符串值,则会为该属性调用默认的动画形式。