1234323181
2016-11-21 15:57
$("#exec").click(function() {
var v = $("#animation").val();
var $aaron = $("#aaron");
if (v == "1") {
//观察每一次动画的改变
$aaron.animate({
height: '50'
}, {
duration :2000,
//每一个动画都会调用
step: function(now, fx) {
$aaron.text('高度的改变值:'+now)
}
})
} else if (v == "2") {
//观察每一次进度的变化
$aaron.animate({
height: '50'
}, {
duration :2000,
//每一步动画完成后调用的一个函数,
//无论动画属性有多少,每个动画元素都执行单独的函数
progress: function(now, fx) {
$aaron.text('进度:'+arguments[1])
// var data = fx.elem.id + ' ' + fx.prop + ': ' + now;
// alert(data)
}
})
}
});
感谢!
1、.animate(properties,options)中包含两个参数,options参数包括几种,其中step:规定每个动画的每一步完成之后要执行的函数;progress:每一次动画调用的时候会执行这个回调,就是一个进度的概念。
2、arguments中数组值代表函数第几个参数。这里arguments[1]代表第二个参数,则是代表fx。
3、这个程序没有提供完整,在程序上面应该会定义原先的块级高度是100,动画中目标高度是50,所以执行动画时从100减到50。
4、显示为1代表动画进度完成到百分百。效果为两行不知道是什么意思,看定义的样式。
jQuery基础(四)—动画篇
85049 学习 · 262 问题
相似问题