jQuery动画

jopen 10年前

摘要 jQuery动画 - animate()方法 jQuery stop() 方法 CallBack回调函数 Chainning 连接

  • jQuery动画 - animate()方法

jQuery animate() 方法用于创建自定义动画。

语法
$(selector).animate({params},speed,callback);

必需的 params 参数定义形成动画的 CSS 属性。

可选的 speed 参数规定效果的时长。它可以取以下值:“slow”、“fast” 或毫秒。

可选的 callback 参数是动画完成后所执行的函数名称。

  • jQuery animate() - 操作多个属性

请注意,生成动画的过程中可同时使用多个属性:

$("button").click(function(){    $("div").animate({      left:'250px',      opacity:'0.5',      height:'150px',      width:'150px'    });  });
  • jQuery animate() - 使用相对值

也可以定义相对值(该值相对于元素的当前值)。需要在值的前面加上 += 或 -=:

$("button").click(function(){    $("div").animate({      left:'250px',      height:'+=150px',      width:'+=150px'    });  });
  • jQuery animate() - 使用预定义的值
    您甚至可以把属性的动画值设置为 “show”、“hide” 或 “toggle”:

    $("button").click(function(){  $("div").animate({  height:'toggle'  });  });
  • jQuery animate() - 使用队列功能

默认地,jQuery 提供针对动画的队列功能。
这意味着如果您在彼此之后编写多个 animate() 调用,jQuery 会创建包含这些方法调用的“内部”队列。然后逐一运行这些 animate 调用。

隐藏,如果您希望在彼此之后执行不同的动画,那么我们要利用队列功能:

$("button").click(function(){    var div=$("div");    div.animate({height:'300px',opacity:'0.4'},"slow");    div.animate({width:'300px',opacity:'0.8'},"slow");    div.animate({height:'100px',opacity:'0.4'},"slow");    div.animate({width:'100px',opacity:'0.8'},"slow");  });
  • jQuery stop() 方法用于在动画或效果完成前对它们进行停止。

jQuery stop() 方法用于停止动画或效果,在它们完成之前。
stop() 方法适用于所有 jQuery 效果函数,包括滑动、淡入淡出和自定义动画。
语法

$(selector).stop(stopAll,goToEnd);

  • CallBack回调函数

Callback 函数在当前动画 100% 完成之后执行。

$("p").hide(1000,function(){  alert("The paragraph is now hidden");  });
  • Chainning 连接
    Chaining 允许我们在一条语句中允许多个 jQuery 方法(在相同的元素上)。

$("#p1").css("color","red").slideUp(2000).slideDown(2000);