jquery动画函数(show、speed、hidde、toggle)用法

发布时间:2020-08-14编辑:脚本学堂
有关jquery动画函数的用法,常用的jquery动画函数,包括show、speed、hidde、toggle、animate方法等。
jquery中的自定义动画
animate(params[,duration[,easing[,callback]]])
用于创建自定义动画的函数。
这个函数的关键在于指定动画形式及结果样式属性对象。这个对象中每个属性都表示一个可以变化的样式属性(如“height”、“top”或“opacity”)。 注意:所有指定的属性必须用骆驼形式,比如用marginleft代替margin-left.
而每个属性的值表示这个样式属性到多少时动画结束。如果是一个数值,样式属性就会从当前的值渐变到指定的值。如果使用的是“hide”、“show”或“toggle”这样的字符串值,则会为该属性调用默认的动画形式。
在 jquery 1.2 中,你可以使用 em 和 % 单位。另外,在 jquery 1.2 中,你可以通过在属性值前面指定 "+=" 或 "-=" 来让元素做相对运动。
返回值
jquery
参数
params (options) : 必须的,jion对象一组包含作为动画属性和终值的样式属性和及其值的集合
duration (string,number) : (可选) 三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
callback (function) : (可选) 在动画完成时执行的函数
示例1
点击按钮后div元素的几个不同属性一同变化

html 代码:
 

<button id="go"> run</button>
<div id="block">hello!</div>

jquery 代码:
 

// 在一个动画中同时应用三种类型的效果
$("#go").click(function(){
$("#block").animate({
width: "90%",
height: "100%",
fontsize: "10em",
borderwidth: 10
}, 1000 );
});

让指定元素左右移动
html 代码:
 

<p style="display: block;left:20px;top:20px;position:absolute;width:200px;height:200px;background-color:red;border-style:solid;border-width:1px;border-color:black;">hello</p>

jquery 代码:
向右移动
 

$("#right").click(function(){
$(“p").animate({left: '+50px'}, "slow");
//要移动的元素是 绝对定位position:absolute; left增大相当于右移
});
$("#left").click(function(){
$(“p").animate({left: '-50px'}, "slow");
});

在600毫秒内切换段落的高度和透明度
jquery 代码:
 

$("p").animate({
height: 'toggle', opacity: 'toggle' //不断切换opacity透明度 和height
}, "slow");

用500毫秒将段落移到left为50的地方并且完全清晰显示出来(透明度为1)
jquery 代码:
 

$("p").animate({
left: 50, opacity: 'show'
}, 500);
 

animate(params,options)用于创建自定义动画的函数。
这个函数的关键在于指定动画形式及结果样式属性对象。这个对象中每个属性都表示一个可以变化的样式属性(如“height”、“top”或“opacity”)。 注意:所有指定的属性必须用骆驼形式,比如用marginleft代替margin-left.
而每个属性的值表示这个样式属性到多少时动画结束。如果是一个数值,样式属性就会从当前的值渐变到指定的值。如果使用的是“hide”、“show”或“toggle”这样的字符串值,则会为该属性调用默认的动画形式。

在 jquery 1.2 中,你可以使用 em 和 % 单位。另外,在 jquery 1.2 中,你可以通过在属性值前面指定 "+=" 或 "-=" 来让元素做相对运动。
返回值:jquery
参数
params (options) : 一组包含作为动画属性和终值的样式属性和及其值的集合
options (options) : 一组包含动画选项的值的集合。
选项
duration (string,number) : (默认值: "normal") 三种预定速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000)
complete (function) : 在动画完成时执行的函数
step (callback) :
queue (boolean) : (默认值: true) 设定为false将使此动画不进入动画队列 (jquery 1.2中新增)
示例
第一个按钮按了之后展示了不在队列中的动画。在div扩展到90%的同时也在增加字体,一旦字体改变完毕后,边框的动画才开始。
第二个按钮按了之后就是一个传统的链式动画,即等前一个动画完成后,后一个动画才会开始.
html 代码:
 

<button id="go1">? animate block1</button>
<button id="go2">? animate block2</button>
<div id="block1">block1</div><div id="block2">block2</div>

jquery 代码:
 

$("#go1").click(function(){
$("#block1").animate( { width: "90%"}, { queue: false, duration: 5000 } )
.animate( { fontsize: '10em' } , 1000 ) // queue: false说明绿的这俩动画同时进行
.animate( { borderwidth: 5 }, 1000);   //等前两个执行完毕再执行
});
$("#go2").click(function(){
$("#block2").animate( { width: "90%"}, 1000 )
.animate( { fontsize: '10em' } , 1000 )
.animate( { borderwidth: 5 }, 1000);
});

用500毫秒将段落移到left为50的地方并且完全清晰显示出来(透明度为1)
jquery 代码:
 

$("p").animate({
left: 50, opacity: 'show'   // opacity: 'show' 由隐藏变为显示状态
}, { duration: 500 }); // duration: 500 在500毫秒内


stop()
停止所有在指定元素上正在运行的动画。
如果队列中有等待执行的动画,他们将被马上执行
返回值
jquery

示例
点击go之后开始动画,点stop之后会在当前位置停下来
html 代码:
 

<button id="go">go</button> <button
id="stop">stop!</button>
<div class="block"></div>
<button id="go">go</button> <button
id="stop">stop!</button>
<div class="block"></div>

jquery 代码:
 

// 开始动画
$("#go").click(function(){
$(".block").animate({left: '+200px'}, 5000);
});
// 当点击按钮后停止动画
$("#stop").click(function(){
$(".block").stop();
});