これらの要素のサイズ変更に Javascript を使用しないでください。CSS を直接使用することをお勧めします。これにより、編集が容易でパフォーマンスが向上する、よりクリーンなコードを記述できます。特定のケースでは、Javascript を使用して手動で高さを計算する必要はありません。代わりに、CSS ポジショニングを利用して、目的の結果を達成してください。
具体的には、次のように、メイン コンテンツ div を設定して、フッターとヘッダーを除くすべてのページの高さを占めます。
#content {
position: fixed;
bottom: 40px;
top: 100px;
}
次に、その div の内容を調整して、オンザフライで必要なだけのスペースを占有します。たとえば、サイドバー ホルダーが #content div の高さ全体を占めるようにします。したがって、次の CSS コードで十分です。
#sidebar-holder {
position: absolute;
top: 0;
bottom: 0;
}
同様に、「スプリッター」div は CSS ポジショニングを使用して配置できますが、CSS ボーダーを使用して実装する方が適切です。
#sidebar-holder {
border-right: 5px solid black;
}
大規模で管理不能な絶対配置を回避するにposition: relative
は、親要素とposition:absolute
子要素内でディレクティブを使用します。この手法を使用すると、最も近い相対親によって定義されたボックス内の絶対座標に子要素を配置できます。したがって、座標 (0, 0) は親ボックスの左上隅に対応します。
CSS のみを使用して希望する完全な動作をコードで再現しました。面倒なピクセル値の計算なしで、問題を直接修正します。さらに、Javascript を CSS に置き換えると、ページのサイズ変更時に正しく動作し、サイズ変更イベントで jQuery コードを再実行する必要がなくなります。