0

jquery mobileでページがスクロールされているかどうかを検出できません。Scrolltopどのような場合でも常に 0 を返します。

    <script>


        var interval = setInterval(function() {

                                   alert($("#articlecontent").scrollTop());
                                   //alert($(window).scrollTop());
                                   //alert($("#maindiv").scrollTop());

                                   }
                                   }, 3000);

    </script>



    <div data-role="page" id="maindiv">
        <div  class="ui-bar ui-bar-b">


        </div>


        <div id='articlecontent' data-role="content" data-iscroll>

          sldfjlkjsl lksjd kls df hjks djkh sdjfkh sjkf 
          jksd jkhsdf jkhsd hjwiuhhfg skd jkshd fkj fkjsg kjhsdkjf 

          sldfjlkjsl lksjd kls df hjks djkh sdjfkh sjkf 
          jksd jkhsdf jkhsd hjwiuhhfg skd jkshd fkj fkjsg kjhsdkjf 


          sldfjlkjsl lksjd kls df hjks djkh sdjfkh sjkf 
          jksd jkhsdf jkhsd hjwiuhhfg skd jkshd fkj fkjsg kjhsdkjf 



        </div>
        <div data-role="footer" data-id="foo1">


        </div>
    </div>
4

1 に答える 1

0

scrollTop()は、その要素のスクロールバーがある場合にのみ、ゼロより大きい値を返します。この場合、記事のdivの高さをコンテンツよりも小さい値に設定し、スクロールバーを表示するように強制することでテストできます。その後、以下のコードを試してスクロールし、スクロールすると値が変化することを確認します。

$("#articlecontent").scroll(function(){ console.log($(this).scrollTop()); });
于 2012-11-16T03:18:12.927 に答える