2010-01-19 22 views
1

     我想用fx和函數 我有一個動畫,我想在隊列的末尾做一個ajax呼叫。
   我似乎無法使其工作...
   我完全不知道怎麼PROCEDE ...在Jquery.queue的最後一個效果的末尾執行一個函數

那會非常非常粗略的例子,但

$('#dvHeader').queue(function() { 
    $('#dvLeftContent').slideDown(2000); 
    $('#dvRightContent').animate({ backgroundColor: '#c71717' }, 2500) 
    callAjax(); 
} 

   該代碼在最後一個效果開始之前調用callAjax函數的方式,事實上,幾乎和第一個調用一樣。
     真實情況稍微複雜一些,我不能使用每個示例的動畫效果的回調。我想知道隊列何時結束最後一個效果,或者類似的情況。
   如何在最後一次動畫結束時觸發該調用?

+0

@NoProblemBabe,我不明白你爲什麼不能使用動畫函數的回調。動畫隊列對每個元素都是唯一的。如果'animate'是隊列的最後一部分,那麼它的回調會在所有隊列元素完成後觸發。請解釋一下,以便我能夠理解如何幫助你。 – 2010-01-19 19:58:38

+0

我以不同的方式使用這些效果,更適合我的小框架。 – 2010-01-19 21:23:16

回答

0

在仔細看看這些隊列是如何工作的之後,我發現如果我只知道最後一個會使其動畫的元素,我可以將我的ajax調用排隊,它會在動畫之後放置我的函數,如下所示:

$('#dvHeader').queue(function() { 
    $('#dvLeftContent').slideDown(2000); 
    $('#dvRightContent').animate({ backgroundColor: '#c71717' }, 2500);  
} 

$('#dvRightContent').queue(function() { 
    callAjax(); 
}); 

當然,具有與回調相同的行爲。
謝謝大家的幫助。

1

http://docs.jquery.com/Effects/animate

嘗試設置的最後效果回調方法(動畫(),你的情況),以你的Ajax功能:

動畫(參數,可以[時間],[寬鬆] [回調])

+1

正如我之前說過的,我想知道如何在最後一個元素的動畫結尾處應用一個函數。常規的回調和鏈不是我正在尋找的。無論如何感謝 – 2010-01-19 21:25:39

0

鏈您與您的通話一起使用回調機制沿動畫:

$('#dvHeader').queue(function() { 
    $('#dvLeftContent').slideDown(2000, function() { 
     $('#dvRightContent').animate({ backgroundColor: '#c71717' }, 2500, function() { 
      callAjax(); 
     }); 
    }); 
}); 
+0

正如我之前所說的,我想知道如何在最後一個元素的動畫結尾處應用一個函數。常規的回調和鏈不是我正在尋找的。不管怎麼說,還是要謝謝你 – 2010-01-19 21:25:02

相關問題