違いは何ですか:
$(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
を行うために使用します。scroll
scrollTop
resize
これを行うクロスブラウザの方法は
var top = ($(window).scrollTop() || $("body").scrollTop());
ここで説明したのと同様の問題がいくつか発生しscrollTop
ました。
結局、私はセレクターを使用してFirefoxとIEでこれを回避しました$('*').scrollTop(0);
影響を与えたくない要素がある場合は完璧ではありませんが、ドキュメント、本文、HTML、およびウィンドウの不一致を回避します。それが役立つなら...