几个参数不明白
老师能不能把,参数解释下,真的不懂,这个arguments【1】是什么意思。
step中函数传递参数是怎么传的,例子中,只有height一项,如果我设置了多项,是怎么传递,这个now参数?
progress就更加不懂了。
老师能不能把,参数解释下,真的不懂,这个arguments【1】是什么意思。
step中函数传递参数是怎么传的,例子中,只有height一项,如果我设置了多项,是怎么传递,这个now参数?
progress就更加不懂了。
2016-07-16
$( "li" ).animate({ opacity: .5, height: "50%" }, { step: function( now, fx ) { var data = fx.elem.id + " " + fx.prop + ": " + now; $( "body" ).append( "<div>" + data + "</div>" ); } });
结果如下:
opacity: 1
height: 20
opacity: 0.9413708033732721
height: 23.51775179760368
opacity: 0.900105056331471
height: 25.99369662011174
opacity: 0.854664934384357
height: 28.72010393693858
opacity: 0.7813333083910761
height: 33.12000149653544
opacity: 0.7070177249301477
height: 37.57893650419114
opacity: 0.6471214103487228
height: 41.17271537907663
opacity: 0.6030536869268818
height: 43.8167787843871
opacity: 0.5500788353782273
height: 46.995269877306356
opacity: 0.5213482100503466
height: 48.7191073969792
opacity: 0.5044281873178278
height: 49.73430876093033
opacity: 0.5
height: 50
发现是两个参数的变化过程的值不停的轮流弹出
arguments是js中的一个内置对象,虽然我猜你应该知道,不过还是找了个详解,见js arguments
至于这个参数怎么传的。now好像是当前改变的值的一个合集,每一项都是number类型,alert出来的话就是不停弹出来你正改变的值。有几个值弹出几次,按顺序弹出来_(:зゝ∠)_。
比如说如果我设置height:50,又设置width:50,动画运行前弹一次当前高,弹一次当前宽。然后运行结束再弹一次当前高,弹一次当前宽。
当然,前面都是自己的折腾。
下面是我找到的一个参数的讲解,可不可靠还未知,但可以作为参考
<script> $(".demo").animate({ first:2, second:10 }, { step:function(n,fx){ // 动画元素的每个动画属性每一次动画效果的执行都将调用的函数。第1个参数是当前动画正在改变的属性的实时值(每1次动画过程中,属性值的实时反馈呈现);第2个参数为修改Tween 对象提供了一个机会来改变animate第1个参数中设置的属性在动画结束时的值。 // fx: jQuery.fx 原型对象的一个引用,其中包含了多项属性,比如 // 执行动画的元素:elem; // 动画正在改变的属性:prop; // 正在改变属性的当前值:now; // 正在改变属性的结束值:end; // 正在改变属性的单位:unit;等 // 可在这里改变animate第1个参数中设置的属性second在动画结束时的值 if(fx.prop=="second"){fx.end=5} console.log(fx.prop+": "+n); }, duration:2000 }) </script>
举报