問題タブ [getboundingclientrect]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
91848 参照

javascript - スクロール中に JavaScript getBoundingClientRect() が変化する

要素の Y 座標と Y 値 = 0 の間の正確な距離が必要です。これをドキュメントの上部と見なします。

しかし、スクロール中に getBoundingClientRect() の値が変わるようです。myElement と Y 座標 = 0 (ドキュメントの上部) の間の実際の距離を取得するにはどうすればよいですか?

0 投票する
1 に答える
50 参照

javascript - 要素のboundingClientRectを保持する変数に名前を付ける方法は?

getBoundingClientRect()特定の要素の関数の結果を保持する変数に名前を付ける方法。今、私は常にsendButtonBoundingClientRectorのような名前を使用していますchangeFontPanelBoundingClientRectが、その命名規則では名前が非常に長くなります。プロジェクトでどのように名前を付けていますか?

0 投票する
2 に答える
3700 参照

javascript - Safari の getBoundingClientRect() 実装が間違った値を返す トップへ

divwithがfloat: rightあり、ビューポートの上部からの距離を取得しようとしています。Safari を除くすべてのブラウザで、期待どおりの結果が得られelement.getBoundingClientRect().topます。Safari は、ビューポートではなく、ページの上部からの要素の距離を報告しているようです。これは、このメソッドの仕様で定義されている内容に反しています(私が理解しているように)。Safari がここのルールに従っていないだけですか、それとも他のブラウザは、私が見ていない私の間違いをより寛容に扱っているのでしょうか?

0 投票する
1 に答える
23033 参照

javascript - Google Chrome では、getBoundingClientRect().x は未定義です。

キャンバスで描画操作を行っています。私の意見では、キャンバスの左上隅に対するカーソル位置を計算する最良の方法は、次の使用法です.getBoundingClientRect()

このコードに問題はなく、Firefox で動作します。試して。

ただし、Google Chrome では、デバッグ行に次のように表示されます。

x( NaN) = event.clientX( 166) - rect.x( undefined)

私は何を間違っていますか?これは仕様通りではないでしょうか?

編集:私のコードは W3C に従っているようです:

仕様から:

getBoundingClientRect()

メソッドは、呼び出されたgetBoundingClientRect()ときに、次のアルゴリズムの結果を返す必要があります。

  1. list を、getClientRects()このメソッドが呼び出されたのと同じ要素で呼び出した結果とします。

  2. リストが空の場合、、、およびメンバーがゼロのDOMRectオブジェクトを返します。xywidthheight

  3. DOMRectそれ以外の場合は、リスト内の最初の四角形と、高さまたは幅がゼロでない残りのすべての四角形を含む最小の四角形を表すオブジェクトを返します。

DOMRect

0 投票する
1 に答える
924 参照

javascript - jQuery in IE11 - $(document).width() と $("html").width() の違い

だから私はIE11でこれを持っています...

丸められた(私は思う...)

丸めない

ROUNDED DOWN (または最も近い整数に)

したがって、どうやら $(document) と $("html") のどちらも同じであり、jQuery はブラウザーのように html 要素を切り上げるのではなく切り捨てています。または、IE11 は $(document) に余分なスペースを与え、html よりも高いピクセル数を増やしますか?

html はドキュメント全体を表すものだと思っていましたか?

私の質問:

それらは同じ幅であるべきですか?Firefox、Chrome などのように。

0 投票する
1 に答える
136 参照

javascript - 最も近い BoundingClientRect を見つける

私は実行して取得した ClientRect オブジェクトの配列を持っています

私が持っているのは、別の要素のバウンディング クライアント rect です。

var currentElement = $('.active')[0].getBoundingClientRect();

trackedBounds私の質問は、の最も北にある内でどのように見つけるのcurrentElementですか?