0

固定された最初の列(左側の1番目のテーブル)と水平方向にスクロール可能な残りの列(右側の2番目のテーブル)の要件を達成するために、同じ数の行を並べて保持する2つのテーブルがあります。ロード中、これらのテーブルのコンテンツ [ラベル、画像、テキスト領域など] のサイズに基づいて、行の高さが左右に整列するように調整されます。

これは、同じテーブル行と他のテーブル行の style.height に行の高い値 offsetHeight を比較して割り当てることによって実現されます。

for (x.rows) {
    if(x.rows[i].offsetHeight > y.rows[i].offsetHeight) {
        y.rows[i].style.height = x.rows[i].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 を試す予定です。この問題を解決するには、他に何を試す/探す必要がありますか?

注: 上記のコードは、問題を説明するための単なるサンプルです。実際には、行の高さを見つけて割り当てることは、リフローを回避する (応答時間を改善する) ために別のループに分割されます。

4

1 に答える 1