2011-11-11 78 views
2

我通過這個ajax調用來加載內容,主要是圖像,並且只在所有圖像完全加載時纔會淡入div。出於這個原因,我認爲我應該使用.ready,以便所有內容在我使用jquery淡入之前加載,但由於某些原因,當div被淡入時圖像並未完全加載,這使得它看起來好像不是等待一切加載。.ready not acknowledging AJAX content

我基本上是想建立一個預緊力,這AJAX內容

function getPage() { 
    var data = 'page=' + encodeURIComponent(document.location.hash); 

    $.ajax({ 
     url: "loader.php", 
     type: "GET",   
     data: data,  
     cache: true, 
     success: function (html) { 


      $('#content').html(html); 
      $("#slider").easySlider(); 

      $(this).ready(function() { 

       $('#body').fadeIn('slow'); 
       $('#loader').fadeOut('slow'); 

      }); 




     }  
    }); 

感謝您提前幫助。我仍然是初學者。

例如:

+0

在您的例子似乎行爲是一個預期。你能否提供額外的細節? – Mauro

+0

問題是,用戶將能夠在選擇該部分後看到加載的圖像。我希望圖像在div淡入之前已經被加載。也許這是做錯的方法。希望澄清。 – changechange

回答

0

編輯: 哦,現在我看到您的問題!

當success()函數被觸發時,您必須向#content中的圖像添加一個.load事件!

你必須做這樣的事情

function getPage() { 
    var data = 'page=' + encodeURIComponent(document.location.hash); 
    $('#loader').fadeIn('slow'); 
    $.ajax({ 
     url: "loader.php", 
     type: "GET",   
     data: data,  
     cache: true, 
     success: function (html) { 

      $('#content').html(html); 
      $("#slider").easySlider(); 
      $('#content img').load(function(){ 
       $('#body').fadeIn('slow'); 
       $('#loader').fadeOut('slow'); 
      }); 
     }  
    }); 
} 
+0

它做同樣的事情。謝謝。 – changechange

+0

請嘗試新的解決方案。 – RjQuery

+0

再次感謝您的回答。也許這是另外一個問題,但我引用了一個動態的div,與ajax一起調用,阻止我直接引用圖像。 #slider div中的每個圖像都在這些圖像中。我嘗試了下面的加載函數.... $('#slider')。load(function(){... etc ..並且它永遠不會進入函數內部,再次感謝您的幫助,我不確定是否 – changechange

相關問題