2013-08-29 126 views
2

我創建了一個頁面,我創建了兩個函數:一個用於fadeOut-fadeIn,另一個用於更改佈局視圖。在另一個函數fadeOut()完成後執行函數

我想只在fadeOut-fadeIn函數完成時才改變視圖。

$someTarget.click(function(){ 
//all actions here once the below function done 
}); 

$someTarget2.click(function(){ 
    $subtarget.fadeOut(); 
    $subtarget.fadeIn(); 
}); 
+2

試圖讀取jQuery的文檔。它會打擊你的思想。 – BentOnCoding

+2

推遲到救援,http://api.jquery.com/deferred.done/和http://www.erichynds.com/blog/using-deferreds-in-jquery –

+0

謝謝馬克......這可能是解決方案...我將不得不檢查 – Mufeed

回答

0
$(subtarget).fadeOut(function(){ 
    $(someTarget).trigger('click'); 
}); 

編輯:

$someTarget.live(‘click’, function(){ 
//all actions here once the below function done 
}); 

$someTarget2.click(function(){ 
    $subtarget.fadeOut(function(){ 
     $subtarget.fadeIn(function(){ 
      $someTarget.trigger('click'); 
     }); 
    }); 
}); 
+0

感謝您的快速回答...您可以寫出完整的代碼,將代碼放在哪裏......謝謝 – Mufeed

+0

假設您想要fadeOut,然後fadeIn,然後觸發someTarget單擊事件,編輯。 –

+0

有沒有必要使用回調。動畫自動鏈接。 – Archer

0

你可以連驅動程序的功能,然後利用回調組件:

$someTarget2.click(function(){ 
    $subtarget 
     .fadeOut() 
     .fadeIn(function(){ 
      $someTarget.click(function(){ 
       // magic actions here 
      }); 
     }); 
}); 

或者只是觸發點擊組件:

$someTarget2.click(function(){ 
    $subtarget 
     .fadeOut() 
     .fadeIn(function(){ 
      $someTarget.trigger('click'); 
     }); 
}); 

就像你擡頭,你寫的.fadeIn和。 fadeOut件意味着它們將在同一時間運行...如果你想做一個「閃光」的東西(我認爲是你想要的),你需要鏈接它們,使它們順序運行。

+0

不需要一開始就在淡出本身.. $ someTarget.live(「點擊」,......這將在那裏我有功能火的onclick功能,如果fadeout-fadeIn done .... 非常感謝您的支持人員.. – Mufeed

+0

只是一個人擡頭,'.live()'已棄用,已經很長時間了。您應該使用'.on )'而不是,如果你不使用簡寫('.click()'是'.o的縮寫N( '點擊')')。 – PlantTheIdea

+0

@Plant ...我知道,但這並沒有解決這裏的問題... – Mufeed

0

可以使用回調在fadeInfadeOut

$someTarget2.click(function(){ 
    $subtarget.fadeOut("fast", function() { 
     $subtarget.fadeIn("fast", function() { 
      //done fading in, change your view here 
     }); 
    }); 

}); 
+0

不需要從fadeOut本身開始.. $ someTarget.live('click',...這將是我必須開啓onclick函數的功能,如果fadeOut-fadeIn done .... 的支持傢伙非常感謝.. – Mufeed

0
$someTarget2.click(function(){ 
    $someTarget.fadeOut('slow').fadeIn('slow',function(){ 
     // change view here 
    }); 
}); 
+0

它不@FlashThunder那好以這種方式工作。 –

+1

該動畫將鏈。這有什麼錯呢? – Archer

+1

別介意我累了,對不起。 –

相關問題