2012-06-10 50 views
0

我想預先數據,然後淡出舊的div和滑下新的div。在Chrome中效果很好,但在Firefix中,它會淡出舊的div,但不會滑下新的div。只有在瀏覽器中緩存數據時,它才能在Firefox瀏覽器中正確滑入。FadeTo和SlideDown - Firefox問題

任何人都可以看到我的代碼有什麼問題,可以允許這發生在Firefox?謝謝了...

HTML

<div class="Output"> 
    <div class="block"></div> 
</div> 

JS

$.ajax({ 
    url: "file.php", 
    timeout: 3000, 
    data: dataString, 
    cache: false, 
    success: function(myhtml){ 

     var new_div = $(myhtml).hide(); 
     $(".Output").prepend(new_div); 

     $(".block").fadeTo("normal", 0.00, function(){ 

     $(".block2").hide().slideDown('normal', function() { 
     }); 

     });  

    } 
}); 

file.php

<div class="block2"></div> 
+0

如果是在他們沒有寬度或高度空元素測試此。嘗試在CSS中放置一些內容或設置寬度。這個小提琴:http://jsfiddle.net/PvGjt/在ff中可以正常工作。 – Zefiryn

+0

我有內容。它不是 – Joe

+0

我不知道它是否與下載的內容有關?有什麼我可以添加,將等待內容加載之前下滑? – Joe

回答

0

放幻燈片和f回撥complete

在這裏看到:http://docs.jquery.com/Ajax_Events

在你的情況,這樣的事情:

$.ajax({ 
    url: "file.php", 
    timeout: 3000, 
    data: dataString, 
    cache: false, 
    success: function(myhtml){ 

     var new_div = $(myhtml).hide(); 
     $(".Output").prepend(new_div); 

    }, 
    complete: function(){ 

     //you may need to check if the ajax result was actually a success here 
     $(".block").fadeTo("normal", 0.00, function(){ 

      $(".block2").hide().slideDown('normal', function() { 
      }); 

     }); 
    } 
});