2012-01-14 43 views
0

我想從配置的jQuery $阿賈克斯()返回的數據...

我的例子是這樣的:

首先我用笨框架(只是關注)

現在阿賈克斯我打電話函數返回的div組

EXP:

通過js代碼
function my_function() { 
    for($i = 0; $i < 3; $i++) { 
     print '<div class="block">'.$i.'</div>'; 
    } 
} 

現在:

$.ajax({ 
    type: "POST", 
    url: "path/to/my_function", 

    success: function(data){ 
     $('#div#container').html(data); 
    } 
}); 

現在所有的div(3周的div塊類)都出現在同一時間。(我不喜歡這樣)

我想過去三年股利每一個相繼出現(含了slideDown例如) 現在我的具體問題是: 如何通過循環配置由ajax返回的數據例如?????爲每個div使用slideDown?

+0

您能否重新閱讀您的問題並以更好的英文結構。我很難理解你的問題。 – 2012-01-14 18:26:01

回答

0

您要爲每個格設置一旦對方已如果你想要一個div來後,其他顯示已完成火滑下功能。您可以構建一個遞歸函數,以便您可以動態設置索引以特定值開始和結束。當然,你的div id必須正確命名,所以你可以做這樣的事情。

function doSlideDown(startIndex, endIndex){ 
    $('div#container'+startIndex).slideDown(500, function(){ 
     if(startIndex < endIndex){ 
      doSlideDown(startIndex+1, endIndex); 
     } 
    }); 
} 

$.ajax({ 
type: "POST", 
url: "path/to/my_function", 

success: function(data){ 
    $('div#container1').html(data); 
    $('div#container2').html(data); 
    $('div#container3').html(data); 

    doSlideDown(1,3); 
} 
}); 

這將確保只有一個DIV同時滑出。

+0

你的腳本很棒,但是對於靜態的div數量,我想要一個div在另一個div之後顯示,但是對於動態數量的div(未知數),你能幫忙嗎? – Mahmoudco 2012-01-14 19:58:18

+0

其他答案不起作用嗎?您可以根據結果計算一次完成創建div的數量。 – 2012-01-14 20:23:53

+0

是的,其他的答案是工作,但所有的divs一次出現..無論如何感謝您的有用答案。 – Mahmoudco 2012-01-14 21:21:16

2

添加display:none;最初

function my_function() { 
    for($i = 0; $i < 3; $i++) { 
     print '<div class="block" style="display:none;">'.$i.'</div>'; 
    } 
} 

然後

$.ajax({ 
    type: "POST", 
    url: "path/to/my_function", 

    success: function(data){ 
     $('div#container').html(data); 
      $('div.block').each(function(){ 
      $(this).slideDown(1000); 
     }); 
    } 
}); 
+0

非常感謝。 – Mahmoudco 2012-01-14 18:51:53

+0

你是受歡迎的朋友.. – 2012-01-14 18:52:37