回答:
どちらも同じ効果がありますます。
しかし、コメントで指摘したように:$(window).scrollTop()より多くのWebブラウザでサポートされてより$('html').scrollTop()。
scrollTopはどこにもスクロールせず、現在のスクロール位置を返すだけです。
まず、との違いを理解する必要がwindowありdocumentます。windowオブジェクトは、トップレベルのクライアント側のオブジェクトです。windowオブジェクトの上には何もありません。JavaScriptはオブジェクト指向言語です。オブジェクトから始めて、そのプロパティまたはオブジェクトグループのプロパティにメソッドを適用します。たとえば、documentオブジェクトはオブジェクトのwindowオブジェクトです。documentの背景色を変更するには、documentのbgcolorプロパティを設定します。
window.document.bgcolor = "red"
あなたの質問に答えるために、windowとの最終結果に違いはありませんdocument scrollTop。どちらも同じ出力になります。
一般的な使用ではdocument、主にイベントを登録して使用するwindowような事をするscroll、scrollTopとresize。
これを行うクロスブラウザの方法は
var top = ($(window).scrollTop() || $("body").scrollTop());
$("body").scrollTop()Google Chromeでは常に0を返します。
私は同様の問題をいくつか抱えています scrollTopここ説明しました。
最後に、セレクターを使用してFirefoxとIEでこれを回避しました$('*').scrollTop(0);
影響を与えたくない要素がある場合は完璧ではありませんが、ドキュメント、ボディ、HTML、ウィンドウの差異を回避できます。それが役立つ場合...
$("html,body").scrollTop(val)ました