1

javascript document.body.scrollTop を使用して現在のスクロール px を取得し、1 ページの Web サイト (5 セクション) のウィンドウの高さと比較しようとしています。私の主な目標は、全高の 1/5、2/5、3/5、4/5、5/5 の領域でユーザーがスクロールすることです。ページは自動的にそのセクションに留まります。しかし、私のコードでは、document.body.scrollTop に 2 つの異なる値が表示され、混乱してしまいました。

window.onscroll = function() {

var winH = document.documentElement.clientHeight
var scrollH = document.body.scrollTop

console.log(winH, scrollD);


if ( winH < (scrollD*1.2) ) {
  console.log(winH , scrollH)

}}

コンソールでスクロールすると、同じ変数を持つ 2 つの異なる高さのセットが表示されます。例:

  • 518 218 (最初のコンソール ログから、正しいウィンドウの高さは 518 ピクセル、スクロールは 218 ピクセル)

  • 218 218 (これが同じ値を持つ理由がわかりません。常に同じ値が表示されるため、if ステートメントが壊れているためです。)

ps: document.body.scrollTop をグローバル var として変更すると、コンソールに null の scrollTop 値の妥当性を読み取れないことが表示されます。なぜ機能的に優れているのですか?

ありがとう

4

0 に答える 0