jQuery自定义动画,animate()包装器方法

语法

1、$(selector).animate(styles,speed,easing,callback)

 参数:styles  一个散列对象,指定动画结束时所支持的CSS样式应该达到的值。注:CSS 样式使用 DOM 名称(比如 "fontSize")来设置,而非 CSS 名称(比如 "font-size")

   speed  可选项,用于指定特效持续的时间。可以是若干毫秒或者是下列值 slow normal fast。如果省略或者指定为0,则不会有动画过程。

   easing  可选。规定在不同的动画点中设置动画速度的 easing 函数。内置的 easing 函数:swing linear

    callback  可选。animate 函数执行完之后,要执行的函数。

返回值:包装集

eg.

1、自定义缩放动画

$("div.caption").click(function(){
  $("div.module")
  .css("position","relative")
  .animate(
  {opacity:0, top:$(window).height()-$(this).height()-$(this).position().top},
  "slow",
  function(){$(this).hide();}
  );

通过调整元素的TOP位置使其像页面底部移动来模拟掉落过程,同时,通过调整opacity试元素看起来好像消失了一样。最后再从显示器上删除元素(使用hide())  

2、自定义缩放动画

$("div.caption").click(function(){
  var position = $("div.module").position();
  $("div.module")
  .css({position:"absolute",
       top:position.top,
       left:position.left})
  .animate(
  {
     opacity:"hide",
     width:$(this).width()*5,
     height:$(this).height()*5,
     top:position.top-($(this).height()*4/2),
     left:position.left-($(this).width()*4/2)
  },
  "normal"); 

在这个动画中,我们将不透明度减少到0的同时,把元素的尺寸增大到其原始尺寸的5倍,并且根据新的尺寸的一半大小来调整元素的位置,是的元素的中心保持原地不动。

<div class="module">
   <div class="caption"  style="height:20px;">
       <span style="float:left;">Module Caption</span>
       <span class = "ui-icon ui-icon-carat-1-s" style="float:right"></span>
    </div>
    <div class="body" style="border-top:solid 1px gray;">
     thisdsfsadfsdfsadf sdafsdfdsfsdaf sdaflsdfdsfdsfdsaff sdfsdfdsf
    </div>
</div>

例子摘自《jQuery实战》

posted @ 2014-01-03 10:56  直来直往  阅读(276)  评论(0编辑  收藏  举报