問題タブ [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.
javascript - スクロール中に JavaScript getBoundingClientRect() が変化する
要素の Y 座標と Y 値 = 0 の間の正確な距離が必要です。これをドキュメントの上部と見なします。
しかし、スクロール中に getBoundingClientRect() の値が変わるようです。myElement と Y 座標 = 0 (ドキュメントの上部) の間の実際の距離を取得するにはどうすればよいですか?
javascript - 要素のboundingClientRectを保持する変数に名前を付ける方法は?
getBoundingClientRect()
特定の要素の関数の結果を保持する変数に名前を付ける方法。今、私は常にsendButtonBoundingClientRect
orのような名前を使用していますchangeFontPanelBoundingClientRect
が、その命名規則では名前が非常に長くなります。プロジェクトでどのように名前を付けていますか?
javascript - Safari の getBoundingClientRect() 実装が間違った値を返す トップへ
div
withがfloat: right
あり、ビューポートの上部からの距離を取得しようとしています。Safari を除くすべてのブラウザで、期待どおりの結果が得られelement.getBoundingClientRect().top
ます。Safari は、ビューポートではなく、ページの上部からの要素の距離を報告しているようです。これは、このメソッドの仕様で定義されている内容に反しています(私が理解しているように)。Safari がここのルールに従っていないだけですか、それとも他のブラウザは、私が見ていない私の間違いをより寛容に扱っているのでしょうか?
javascript - Google Chrome では、getBoundingClientRect().x は未定義です。
キャンバスで描画操作を行っています。私の意見では、キャンバスの左上隅に対するカーソル位置を計算する最良の方法は、次の使用法です.getBoundingClientRect()
。
このコードに問題はなく、Firefox で動作します。試して。
ただし、Google Chrome では、デバッグ行に次のように表示されます。
x(
NaN
) = event.clientX(166
) - rect.x(undefined
)
私は何を間違っていますか?これは仕様通りではないでしょうか?
編集:私のコードは W3C に従っているようです:
仕様から:
getBoundingClientRect()
メソッドは、呼び出された
getBoundingClientRect()
ときに、次のアルゴリズムの結果を返す必要があります。
list を、
getClientRects()
このメソッドが呼び出されたのと同じ要素で呼び出した結果とします。リストが空の場合、、、およびメンバーがゼロの
DOMRect
オブジェクトを返します。x
y
width
height
DOMRect
それ以外の場合は、リスト内の最初の四角形と、高さまたは幅がゼロでない残りのすべての四角形を含む最小の四角形を表すオブジェクトを返します。
DOMRect
javascript - jQuery in IE11 - $(document).width() と $("html").width() の違い
だから私はIE11でこれを持っています...
丸められた(私は思う...)
丸めない
ROUNDED DOWN (または最も近い整数に)
したがって、どうやら $(document) と $("html") のどちらも同じであり、jQuery はブラウザーのように html 要素を切り上げるのではなく切り捨てています。または、IE11 は $(document) に余分なスペースを与え、html よりも高いピクセル数を増やしますか?
html はドキュメント全体を表すものだと思っていましたか?
私の質問:
それらは同じ幅であるべきですか?Firefox、Chrome などのように。
javascript - 最も近い BoundingClientRect を見つける
私は実行して取得した ClientRect オブジェクトの配列を持っています
私が持っているのは、別の要素のバウンディング クライアント rect です。
var currentElement = $('.active')[0].getBoundingClientRect();
trackedBounds
私の質問は、の最も北にある内でどのように見つけるのcurrentElement
ですか?