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

有个问题不懂啊?

<script type="text/javascript">
            $(function () {
                $("span").animate({
                    left: "+=100px"
                }, 3000, function () {
                    $("span").animate({
                        height: '+=30px',
                        width: '+=30px'
                    }, 3000, function () {
                        $("#tip").html("执行完成!");
                    });
                });
            });
        </script>
//这样子写是不是把后面一个函数写成上一个函数的回调函数了????
//为啥我下面用方法链调用的写法写不行捏????
      <script type="text/javascript">
            $(function () {
                $("span").animate({
                    left: "+=100px"
                }, 3000);
                .$("span").animate({
                        height: '+=30px',
                        width: '+=30px'
                    }, 3000);
                .$("#tip").html("执行完成!");
                    });  
        </script>


正在回答

1 回答

嗯,要写成链式方式,那么中间就不应该用分号,分号是什么意思,分号即代表语句的结束。所谓的链式方式就是对同一个对象执行多种方法。

 $(function () {
                $("span").animate({
                    left: "+=100px"
                }, 3000);
                .$("span").animate({
                        height: '+=30px',
                        width: '+=30px'
                    }, 3000);
                .$("#tip").html("执行完成!");
                    });

所以这里的分号应该去掉,还有就是说因为多种方法是执行在同一个对象上,那么就不要重复取span元素,这也有悖链式方式的初衷。那么修改后的代码应该是酱紫的,因为后面的“执行完毕”是回调函数,作用在不同的对象上,只能用回调的方式了哈。

<script type="text/javascript">
    $(function () {
        $("span").animate({
            left: "+=100px"
        }, 3000)
        .animate({
            height: '+=30px',
            width: '+=30px'
        }, 3000, function () {
            $("#tip").html("执行完成!");
        })

    });
</script>


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

Bill0123 提问者

非常感谢!^_^
2015-09-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础课程
  • 参与学习       154768    人
  • 解答问题       7184    个

加入课程学习,有效提高前端开发速度

进入课程

有个问题不懂啊?

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