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

请问:1问:noww和fxx接收的是哪两个参数,没有定义fxx这个函数啊。是怎么调用的?

<!DOCTYPE html>
<html>

<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title></title>
    <style>
    p {
        color: red;
    }
    
    div {
        width: 200px;
        height: 100px;
        background-color: yellow;
        color: red;
    }
    a{
        display: block
    }
    </style>
    <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>

<body>
    <h2>animate(下)</h2>
    <p>慕课网,专注分享</p>
    <div id="aaron">内部动画</div>
    点击观察动画效果:
    <select id="animation">
        <option value="1">动画step动画</option>
        <option value="2">动画progress回调</option>
    </select>
    <a></a>
    <input id="exec" type="button" value="执行动画">
    <script type="text/javascript">
    $("#exec").click(function() {
        var v = $("#animation").val();
        var $aaron = $("#aaron");
        if (v == "1") {
            //观察每一次动画的改变
            $aaron.animate({
                height: '50'
            }, {
                duration :2000,
                //每一个动画都会调用
                step: function(noww, fxx) {  
                   $aaron.text('高度的改变值:'+noww) 
                }
            })
        } else if (v == "2") {
            //观察每一次进度的变化
            $aaron.animate({
                height: '50'
            }, {
                duration :20000,
                //每一步动画完成后调用的一个函数,
                //无论动画属性有多少,每个动画元素都执行单独的函数 
                progress: function(now, fx) {
                   $aaron.text('进度:'+arguments[2])
                    // var data = fx.elem.id + ' ' + fx.prop + ': ' + now; 
                    // alert(data)
                }
            })
        } 
    });
    </script>
</body>

</html>

请问:1问:noww和fxx接收的是哪两个参数,没有定义fxx这个函数啊。是怎么调用的?

2问:arguments[1]的值是怎么来的?改成arguments[2]显示的数值又什么值?改成arguments[3]后显示undefined说明数组里面只有三个值,这三值分别是什么?懵逼了,求大神解答!拜谢!!!

正在回答

3 回答

  1. noww接收的是每次动画时height的值,fxx是指每个动画的每一步完成之后要执行的函数. step自动执行的这个函数.

  2.  arguments对象是比较特别的一个对象,实际上是当前函数的一个内置属性。arguments非常类似Array,但实际上又不是一个Array实例.arguments对象的长度是由实参个数而不是形参个数决定的。形参是函数内部重新开辟内存空间存储的变量,但是其与arguments对象内存空间并不重叠.

    也就是说此时的arguments[1]代表的是progress的进度,而它是从0-1的,0代表开始,1代表结束

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

慕数据5775487 提问者

非常感谢!
2017-01-05 回复 有任何疑惑可以回复我~
#2

yelllowsky

能解释一下fx函数是在哪定义的吗,还是说他就是自身那个function函数?
2017-07-06 回复 有任何疑惑可以回复我~
#3

Bravura

为什么now是指height 是本身就默认吗?
2018-08-03 回复 有任何疑惑可以回复我~

keyi !

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

加油,共同努力进步

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

慕数据5775487 提问者

加油!!谢谢你!
2017-01-06 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问:1问:noww和fxx接收的是哪两个参数,没有定义fxx这个函数啊。是怎么调用的?

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