walkToShop中為什么不返回startRun中的deferred,而重新構(gòu)建一個呢?
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;
? ? ? ? }
2015-08-23
因為構(gòu)建一個新的異步鏈