Internet Explorer でのドキュメントのスクロール動作に一貫性がない
document.body.scrollTop 経由でスクロール位置を動的に表示しようとすると、次のような問題が発生しました。異常です。Internet Explorer では常に 0 を返します。この問題が発生する理由を理解するために、問題を詳しく調べて解決策を提供しましょう。
IE では document.body.scrollTop が常にゼロになるのはなぜですか?
以前のバージョンではInternet Explorer では、ドキュメント レンダリングの非標準的な解釈により、scrollTop プロパティの動作に一貫性がなくなりました。厳密な HTML5 doctype を使用する場合、IE10 以降のバージョンは、この点で他のブラウザと一致するようになりました。
古い IE バージョンの代替ソリューション
古い IE バージョンの場合、スクロール位置を正確に取得するには、別のアプローチが必要です。次のコード スニペットは、フォールバック ソリューションを提供します。
var top = (document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop;
このコードは、documentElement プロパティが存在するかどうかを確認し、scrollTop 値を返します。そうでない場合は、document.body.scrollTop に戻ります。
このソリューションを採用すると、古いバージョンの Internet Explorer を含むブラウザ間で一貫したスクロール位置を取得できます。
以上がInternet Explorer の古いバージョンでは document.body.scrollTop が常にゼロになるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。