問題タブ [offsetheight]
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.
css - 1px のパディングを追加すると、外側の div に子のマージンが含まれます
div の子にマージンが含まれている場合、それらのマージンは の計算に含まれませんdiv.offsetHeight
。ただし、1px のパディングを与えるなど、親 div に対して特定のことを行う場合は除きます。
以下のコードは、報告された div の高さを 38px から 83px (子マージンを含む「正しい」サイズ) にジャンプさせます。要素に境界線を追加すると、同じ効果があります。
ここで何が起こっているのですか?これは定義された動作ですか? また、この 1px のハックなしで要素の実際の高さ (子マージンを含むが、それ自体のマージンは含まない) を取得する方法はありますか?
(この質問のコンテキストは、ウィンドウのサイズ変更時に iframe のサイズを変更していたということです。計算は、1px のパディングが含まれている場合にのみ正しく機能しました。)
javascript - JavaScript - .offsetHeight を使用した If ステートメントが機能しない
私はJavaScriptが初めてで、練習しています。「test」というクラス名を持つ div 内にある h1 要素と p 要素の高さを合わせて表示しようとしています。私はあらゆる種類のものを調べましたが、私は本当に近いように感じますが、これをうまく機能させることはできません. 誰でも助けることができますか?
HTML:
JavaScript:
javascript - 要素の offsetHeight を取得すると副作用がありますか?
Bootstrap の折りたたみのコードでは、hide()
メソッドに次の行が表示されます。
this.$element[dimension](this.$element[dimension]())[0].offsetHeight
.offsetHeight
何にも割り当てられていないため、副作用がない限り、最後のポイントが何であるかわかりません。副作用はありますか?
javascript - 標準苦情モードがオンになっていない場合、テーブル行/TR の offsetHeight は IE11 で異なる値を与えているようです。これは IE11 のバグですか?
固定された最初の列(左側の1番目のテーブル)と水平方向にスクロール可能な残りの列(右側の2番目のテーブル)の要件を達成するために、同じ数の行を並べて保持する2つのテーブルがあります。ロード中、これらのテーブルのコンテンツ [ラベル、画像、テキスト領域など] のサイズに基づいて、行の高さが左右に整列するように調整されます。
これは、同じテーブル行と他のテーブル行の style.height に行の高い値 offsetHeight を比較して割り当てることによって実現されます。
これは IE6 から IE10 まで何年もの間機能していましたが、IE11 では位置合わせミスの問題が見られるようになりました。私はまだ標準の苦情に移行していません [まだ IE8 互換性]。
さらなる研究と以下のように、offsetHeight の計算は異なります。 https://msdn.microsoft.com/en-us/library/ms534199(v=vs.85).aspx
そのため、コードを以下に変更し、ローカル マシン IE11/Windows 8 で問題を修正しました。オフセット高さ;
しかし、VDI [仮想デスクトップ インフラストラクチャ] マシン IE11 にはまだ問題が存在します。offsetHeight の代わりに clientHeight を試す予定です。この問題を解決するには、他に何を試す/探す必要がありますか?
注: 上記のコードは、問題を説明するための単なるサンプルです。実際には、行の高さを見つけて割り当てることは、リフローを回避する (応答時間を改善する) ために別のループに分割されます。
html - offsetHeight は、標準モードと quirks モードで異なる結果を返します
こんにちは、私はCSSが初めてです。
IE 11 標準モードでレンダリングするこの単純な html ページがあります。
この HTML には 2 つの div 要素があります。ページの下部にある JavaScript は、2 div のオフセットの高さを取得します。最初の Div オフセットの高さ: 18 2 番目の Div オフセットの高さ: 14
Quirks モードで同じ HTML をレンダリングするとします。異なる結果が得られます:
最初の Div オフセットの高さ: 19 2 番目の Div オフセットの高さ: 19
標準モードで(つまり、メタタグを追加せずに)クワークモードからオフセットの高さを取得したい。CSSを介している可能性があります。可能かどうか教えてください。
javascript - Javascript要素offsetHeightがforループで0を返す
3 列のグリッド内の子要素の高さを動的に取得しようとしています。
i
が 2 に等しい場合、またはがi
1 より大きい場合 (つまり、ループ内に少なくとも 2 つの要素がある場合)は、レンダリングされた高さを正しく返します (チェック用offsetHeight
にレンダリングされた高さの値を専用の要素に表示します)。$('#testheight')
ただし、i
が 1 の場合はoffsetHeight
、レンダリングされた要素に高さがあっても 0 を返します ( <img>
PHP を介して子要素内にレンダリングされた要素があります)。
エラーが見つかりません!助けてください!