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