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 値の妥当性を読み取れないことが表示されます。なぜ機能的に優れているのですか?
ありがとう