ホームページ  >  記事  >  ウェブフロントエンド  >  IE で `document.body.scrollTop` が常に 0 を返すのはなぜですか?

IE で `document.body.scrollTop` が常に 0 を返すのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-16 05:47:03445ブラウズ

Why Does `document.body.scrollTop` Always Return 0 in IE?

IE で Document.body.scrollTop が常に 0 を返すトラブルシューティング

問題:
スクロール位置の取得Internet Explorer で document.body.scrollTop を使用すると、ページが

理由:
IE は他のブラウザとは異なる方法でページ スクロールを処理します。特に古いバージョンでは、document.body.scrollTop がスクロールの動きを確実に追跡できない可能性があります。

解決策:

古いバージョンの IE の場合は、包括的なアプローチをお勧めします。

var top = (document.documentElement && document.documentElement.scrollTop) || 
              document.body.scrollTop;

このコードは document.documentElement.scrollTop と document.body.scrollTop の両方をチェックして、ほとんどのバージョンの IE で正しいスクロール位置が表示されます。

新しいバージョンの IE を使用している場合、またはより洗練されたアプローチが必要な場合は、代わりに window.scrollY プロパティの利用を検討してください。

var top = window.scrollY;

window.scrollY は、垂直スクロール位置を取得するためのクロスブラウザー ソリューションを提供します。

以上がIE で `document.body.scrollTop` が常に 0 を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。