20

私の知る限り、pageXOffset/pageYOffsetプロパティは Netscape 4 の時代から既に利用可能でした。Netscape 6 の頃に導入され
たようです。scrollX/scrollY

別の質問:

Q2. scrollX/scrollY を実装しているが、pageXOffset/pageYOffset をサポートしていないブラウザーはありますか?

前の質問に誰も答えられなかったので、3 番目の質問を追加します。

Q3. scrollX/scrollY が CCSOM の最新の編集者のドラフトに追加され、ワー​​キング ドラフトは pageXOffset/pageYOffset のみを取得しましたが、なぜ両方の属性を保持しているのでしょうか?

4

4 に答える 4

7

scrollY/X を実装しているが、pageY/XOffset をサポートしていないブラウザーはありますか?

pageY/XOffsetあなたが知りたいのは、あなたが完全に信頼しscrollY/Xてゲームから除外できるかどうかだと思います. 答えはイエスです。pageY/XOffsetFirefox、Chrome、Opera、IE 9 で動作しています。

現在、IE9 でテストすることはできませんが、 MSDN のプロパティscrollX/Yにはリストされていないため、質問に答える可能性は十分にあります。したがって、実装していても実装していないブラウザがあるかもしれません。pageY/XOffsetscrollY/X

window.scrollY と window.scrollX が導入されたのはなぜですか?

scrollY単なるエイリアスであるため、読みやすくするためだけのものだと確信しています。

于 2010-11-05T13:14:26.643 に答える
2

それについてのすべて。ご覧pageXOffsetのとおり、Internet Explorer 8 以下ではサポートされていません。IE8 (およびそれ以下) では、機能するものに応じてscrollLeft/ scrollTopofdocument.bodyまたはdocument.documentElement(jQuery で実装されているように) を使用する必要があります。

ここで確認できます:http://jsfiddle.net/8RFAn/1/

なぜ導入されたのかはわかりませんが、私にとってこれらのプロパティは、効果と実装されているブラウザーの観点からwindow.scrollX/Y似ています。pageX/YOffset

于 2010-09-25T20:33:44.550 に答える
-1

pepkin88が述べたように、pageXOffset(およびすべてのpageXY値)は、以前のバージョンのInternetExplorerではサポートされていません。オブジェクトの検索とマウス位置の計算に使用されるほとんどのプロパティは、W3C標準の一部ではありません。私が読んだことを覚えていると、ほとんどのプロパティはMicrosoftの発明です。したがって、scrollXとscrollYについて話すときは、元のpageXYOffset値について話していることになります。pageXYプロパティ(Microsoftのモデルの一部ではない)をサポートする標準準拠のブラウザーが登場したとき、scrollXY値に固執するのは混乱しすぎると判断しました。それで、彼らははるかに論理的な(彼らの意見では)バージョンに切り替えました:pageOffset。

私の意見では、scrollXY値の方が直感的に使用できると思います。私は通常、screenX、pageX、clientXのいずれかを決定しようとするたびに、一時停止して考える必要があります。それぞれの物件にもっと直感的な名前を付けられたのではないかと思います。とにかく、それらのどれも実際にはW3C標準ではないので、JavaScriptのこの領域では規則はそれほど重要ではないと思います。マイクロソフトがそれらを発明したことは非常にうれしいです。なぜなら、それらは非常に有用であることがわかったからです。

于 2010-11-05T04:56:41.427 に答える
-1

私は自分の常識を使って答えようとしますが、それがあなたの質問の意味ではない場合は申し訳ありません。

window.scrollY と window.scrollX は、Web サイトのユーザーが垂直方向または水平方向にどれだけスクロールしたかを判断するために使用されます。

これは、たとえば、ドキュメント内の何かの「絶対」位置のみを検出でき、その上または横に何かを配置する必要があるスクリプトで役立ちます。したがって、scrollX および scrollY の値を使用して、適切な位置を計算できます。

したがって、おそらくカスタム ツールチップのような動的スクリプトの需要が高まったとき、JavaScript の「フレームワーク」を担当する人々がその要求に応え、それらのプロパティを導入しました。

私が言ったように、公式の答えではありませんが、そのような答えを見つけるには、あなたのグーグルが私のものと同じくらい良いでしょう。:)

于 2010-11-05T05:27:49.497 に答える