2013-07-17 79 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