2

私はこのコードを持っていて、ボディではなくdivでスクロールしたい

var scrollPosition = document.body.scrollTop || document.documentElement.scrollTop;

私はこれを試しました:

var divToScroll = $(".divToScroll"),
    scrollPosition = divToScroll.scrollTop || document.divToScroll.scrollTop;

しかし、それは機能していません

<section class=divToScroll>
     <article>
     </article>
</section>

スタイル:

.divToScroll{
  position:relative;
  width:640px;
  height:320px;
  overflow-y:auto;
  overflow-x:hidden;
}

.divToScroll article{
   width:100%;
   height:2000px;
}
4

1 に答える 1

2

動作しない理由divToScrollは、jQuery オブジェクトであり、のようなネイティブ DOM ノードではないためです。したがってdocument.body、scrollTop プロパティはありませんが、jQuery にはscrollTop()メソッドがあります。

var divToScroll = $(".divToScroll"),
    scrollPosition = divToScroll.scrollTop();

もちろん、これはスクロールバーがその要素にアタッチされている場合にのみ機能します。

jQuery がなければ、次のようになります。

var divToScroll = document.getElementsByClassName('divToScroll')[0],
    scrollPosition = divToScroll.scrollTop;
于 2013-10-02T19:07:27.210 に答える