2013-07-17 80 views
-1

我在下面的代碼中遇到問題。 這段代碼在firefox中工作正常,但是當我在chrome,Internet Explorer 8,Opera上嘗試相同時,它不起作用。以下代碼中跨瀏覽器兼容性的問題

以下是我的代碼:

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

     // checking if we are at the end of the window 
     $(document).scroll(function(){ 
      if ($(window).scrollTop() == $(document).height() - $(window).height()){ 
       loadNewData(); 
      } 
     }); 

     function loadNewData(){ 
      alert('loadingNewData');  
      for (var i=0; i<20; i++){ 
       $('ul').append($('<li>'+new Date().getTime()+'</li>')); 
      } 
     } 
    }); 
</script> 

請讓我知道什麼是我需要做使這個代碼在所有瀏覽器上運行它的變化。 謝謝。

+0

我們可以有你得到一個錯誤信息? –

+0

Chrome至少有一個開發者控制檯,您可以使用它來檢查錯誤。查看控制檯中的任何錯誤? – Katana314

+3

這個'$('bodyUl')。ready(函數(){'似乎是錯的 – epascarello

回答

2

僅符合當前文檔的元素有一個ready()方法:

$(document).ready(function(){ 
    $(window).on('scroll', function(){ 
     if ($(window).scrollTop() == ($(document).height() - $(window).height())) { 
      loadNewData(); 
     } 
    }); 

    function loadNewData(){ 
     for (var i=0; i<20; i++){ 
      var li = $('<li />', {text:new Date().getTime()}); 
      $('ul').append(li); 
     } 
    } 
}); 
+0

儘管如此,你可以傳遞任何東西作爲選擇器並調用'.ready )'就可以了。它沒有像預期的那樣工作(比如「等待該元素準備就緒」),但它與'$(document).ready'沒有區別。這就是爲什麼'$()。ready'在技術上是一個選項 – Ian

+0

我得到了答案爲什麼「Uncaught ReferenceError:$未定義」正在打印到控制檯的鉻, 其實我已經加載jQuery的以下格式: 我把jquery下載到我的localhost比我給的該jquery的路徑。 – Vishrant

+0

是的,包括jQuery幫助了很多! – adeneo