问答详情
源自:6-4 人物进出商店的坐标计算

walkToShop中为什么不返回startRun中的deferred,而重新构建一个呢?

function walkToShop(runTime) {

            var defer = $.Deferred();

            var doorObj = $('.door')

            // 门的坐标

            var offsetDoor = doorObj.offset();

            var doorOffsetLeft = offsetDoor.left;

            // 小孩当前的坐标

            var offsetBoy     = $boy.offset();

            var boyOffetLeft = offsetBoy.left;


            // 当前需要移动的坐标

            instanceX = (doorOffsetLeft + doorObj.width() / 2) - (boyOffetLeft + $boy.width() / 2);


            // 开始走路

            var walkPlay = stratRun({

                transform: 'translateX(' + instanceX + 'px),scale(0.3,0.3)',

                opacity: 0.1

            }, 2000);

            // 走路完毕

            walkPlay.done(function() {

                $boy.css({

                    opacity: 0

                })

                defer.resolve();

            })

            return defer;

        }


提问者:bobo_weiqi 2015-08-22 22:43

个回答

  • 艾伦Aaron
    2015-08-23 17:02:06

    因为构建一个新的异步链