为了账号安全,请及时绑定邮箱和手机立即绑定

这个step、progress有什么作用,怎么用的?arguments中的数组的值是从哪里传递过来的?动画step动画的显示效果为什么会从100减到50,是怎么实现的?第二按钮的效果为什么显示两行,最终进度为什么是1?

$("#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)
                }
            })
        }
    });

正在回答

3 回答

感谢!

0 回复 有任何疑惑可以回复我~

1、.animate(properties,options)中包含两个参数,options参数包括几种,其中step:规定每个动画的每一步完成之后要执行的函数;progress:每一次动画调用的时候会执行这个回调,就是一个进度的概念。

2、arguments中数组值代表函数第几个参数。这里arguments[1]代表第二个参数,则是代表fx。

3、这个程序没有提供完整,在程序上面应该会定义原先的块级高度是100,动画中目标高度是50,所以执行动画时从100减到50。

4、显示为1代表动画进度完成到百分百。效果为两行不知道是什么意思,看定义的样式。



7 回复 有任何疑惑可以回复我~
#1

UltraNeo

第4条,显示两行好像是因为文字太长了,把显示区域的宽度扩大一些,就显示到一行来了。
2016-12-05 回复 有任何疑惑可以回复我~
#2

慕粉4418738

看了你的第2条,秒懂。谢
2017-01-10 回复 有任何疑惑可以回复我~
#3

yelllowsky

请教一个问题啊,那个now是什么意思,arguments[0]是代表now吗,输出结果是object object啊,还有arguments[3]同样存在,是剩余的动画时间,这个就有点说不通了
2017-07-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

这个step、progress有什么作用,怎么用的?arguments中的数组的值是从哪里传递过来的?动画step动画的显示效果为什么会从100减到50,是怎么实现的?第二按钮的效果为什么显示两行,最终进度为什么是1?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信