1

この質問で指定されたコードを使用してページに無限スクロール機能を追加しようとしてます。コードは次のとおりです。リンクをたどる必要はありません。

<script type="text/javascript"> 
alert("popup!");    
$(window).scroll(function() {   
   if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
       alert("bottom!");
   }
});  
</script>

最初のアラートを追加して、ブラウザがアラートをブロックしているだけかどうかを確認しましたが、問題なく表示されます。サーバーにはJQuery 1.7.2 minもインストールされており、ページは正しく組積造されているため、インストールの問題ではないと思います。

4

2 に答える 2

1

おそらく、そこにある構文でスクロールイベントが適切に発生している可能性があります。これを試してください:

$(window).on('scroll', function () { 
  if ($(window).height() + $(window).scrollTop() >= $(document).height() - 100) {
    alert('do stuff');  
  }
});
于 2012-06-25T19:10:07.363 に答える
1

After your reply to my comment, you said you are getting

In the console tab I'm getting Uncaught ReferenceError: $ is not defined

I'm guessing then, that you havent included jQuery in the header of your page (this needs to be in the <head> of each page)

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script> 

This will tell you if JQuery has sucessfully loaded on your page

if (typeof jQuery != 'undefined') {
    alert("jQuery library is loaded!");
}else{
    alert("jQuery library is not found!");
}

Original comment:

try putting console.log($(window).height()+"<-current sctoll | target->"+($(document).height() - 100)) in that loop, open it in chrome and right click -> element inspector, open the console tab, that will tell you what the values are each loop, should help you diagnose the problem. If you don't get any traces, the event is not firing

于 2012-06-25T19:59:30.810 に答える