2014-06-17 127 views
0

當向下滾動並將內容加載到我的頁面時出現問題。 ajax執行加載速度太快,所以第二個,第三個等...沒有從第一個加載到DOM的ajax調用中獲得正確的信息。如果最後一次完全加載併成功,只能再次運行ajax

我該如何做到這一點,所以腳本只在最後一次Ajax調用完成並且成功時才運行。 它應該跳過每一個上下滾動,直到最後的ajax調用完成。然後允許執行ajax。 然後一遍又一遍,直到沒有更多的負載,雖然阿賈克斯。

這是我的jQuery腳本。

<script type="text/javascript"> 
$(document).ready(function(){ 

    $(window).scroll(function(){ 

      if ($(window).scrollTop() <= $(".wrapper_ac").offset().top + $(".wrapper_ac").height()) { 

      $(document).ajaxStart(function() { 
      var ajaxURLvalue = '../../modules/language_text_loading/load_content.php'; 
      var langID = 'x'; 
      var onID = 'x'; 
      var setLimit = 'x'; 
      var setIn = 'after'; 
      var theme = 'x'; 
      var setInWhere = 'x'; 
      var conID = 'x'; 

      loadInstant(ajaxURLvalue, langID, onID, setLimit, setIn, theme, setInWhere, conID); 
      }); 
      } 
    }); 

}); 
</script> 

這是我的功能。

function loadInstant(ajaxURLvalue, langID, onID, setLimit, setIn, theme, setInWhere, conID) {  

    var temp_s = $(".ltlID:last").attr("id"); 
    var split_ltlID = temp_s.split(':'); 
    var ltlID = split_ltlID[0]; 
    var acContentBoxID = split_ltlID[1]; 

    var dataString = { 
     action: 'load', 
     last_ltlID: ltlID, 
     //sharedID:acContentBoxID_sharedID, 
     langID:langID, 
     setInWhere: setInWhere, 
     onID:onID, 
     theme:theme, 
     conID:conID 
    }; 

     $.ajax({ 
      type: "POST", 
      url: ajaxURLvalue, 
      data: dataString, 
      cache: false, 
      success: function(html){ 

         $("#accordionContent"+acContentBoxID+":last").after(html); 

     });  
}; 

謝謝你的幫忙。

回答

0

那麼我會做什麼是AJAX功能存儲到這樣一個全局變量:

global_variable =  $.ajax({ 
      type: "POST", 
      url: ajaxURLvalue, 
      data: dataString, 
      cache: false, 
      success: function(html){ 

         $("#accordionContent"+acContentBoxID+":last").after(html); 

     }); 

和Ajax調用前檢查如果變量TRU這樣的:

if(global_variable){ 
    return false; 
} 

這將在一次運行結束之前停止任何ajax調用。我希望它能幫助你!

+0

但是不應該在運行ajax之前設置global_variable來檢查它嗎?因爲沒有我得到一個錯誤:無法找到變量:global_variable – Chak

+0

是的全局變量設置爲功能之外作爲var global_varible。 –

+0

林不知道,我明白。我已經添加了你的代碼,但由於某種原因,它仍然只是加載和加載,而上下滾動 – Chak

相關問題