$(window).scrolltop()vs。$(document).scrolltop()
-
27-10-2019 - |
質問
間の違いは次のとおりです。
$(window).scrollTop()
と
$(document).scrollTop()
ありがとう。
解決
どちらも持っています 同じ効果.
しかし、コメントで指摘されているように: $(window).scrollTop()
より多くのWebブラウザーによってサポートされています よりも $('html').scrollTop()
.
他のヒント
まず、ウィンドウとドキュメントの違いを理解する必要があります。ウィンドウオブジェクトは、トップレベルのクライアントサイドオブジェクトです。ウィンドウオブジェクトの上には何もありません。 JavaScriptはオブジェクト指向の言語です。オブジェクトから始めて、そのプロパティまたはオブジェクトグループのプロパティにメソッドを適用します。たとえば、ドキュメントオブジェクトはウィンドウオブジェクトのオブジェクトです。ドキュメントの背景色を変更するには、ドキュメントのBGColorプロパティを設定します。
window.document.bgcolor = "red"
あなたの質問に答えるために、ウィンドウとドキュメントのスクロールトップとの間に最終結果に違いはありません。どちらも同じ出力を与えます。
で作業例を確認してください http://jsfiddle.net/7vrvj/6/
一般的にドキュメントを使用してイベントを登録し、ウィンドウを使用して、スクロール、スクロールトップ、サイズ変更などを行います。
これを行うクロスブラウザの方法です
var top = ($(window).scrollTop() || $("body").scrollTop());
同様の問題がいくつかありました scrollTop
ここで説明します。
結局、私はこれを回避しました Firefox と すなわち セレクターを使用します $('*').scrollTop(0);
効果を発揮したくない要素がある場合は完璧ではありませんが、ドキュメント、ボディ、HTML、ウィンドウの格差を回避します。それが役立つなら...
所属していません StackOverflow