コンテナdivがあります。そのコンテナdivの中には、親divの幅を空けて、それぞれの間にギャップを追加したい、いくつかの小さなdivがあります。内部divの数が変わります。
この式(containerWidth-(numberOfBars * gap))/ numberOfBarsを使用して各バーのスペースを計算し、jqueryでcssを動的に変更しようとしています。
幅を変更したり、スペースを空けたりすることができません。
フィドルが付いています。
ありがとうございました!
コンテナdivがあります。そのコンテナdivの中には、親divの幅を空けて、それぞれの間にギャップを追加したい、いくつかの小さなdivがあります。内部divの数が変わります。
この式(containerWidth-(numberOfBars * gap))/ numberOfBarsを使用して各バーのスペースを計算し、jqueryでcssを動的に変更しようとしています。
幅を変更したり、スペースを空けたりすることができません。
フィドルが付いています。
ありがとうございました!
;に精通している必要がありouterWidth()
ます。この状況に非常によく合っていると思います。渡されるtrue
と、マージンを含むコンテナの外側の幅になります。したがって、幅のアイテムがあり0
、外側の幅をとる場合、幅に含めたくないパディング/マージン/ボーダーのみになります。
次に、私はあなたの論理で少し遊んだ。内側の幅ではなく、各バーの合計幅を取得し、外側の幅を使用して内側の幅を取得しました。(つまり、Container width / n -> Outer Width; Subtract padding -> Inner Width
。)
更新されたフィドルを共有する前に最後に注意したいのは、次のとおりです。将来的には、最初にフィドルをテストしてください。変数を作成bar
しましcontainer
たが、どちらも定義されていません。また、使用したこと$(document).ready(...)
も、同様のものもありませんでした。
まず、(適切な外幅を取得するためwidth
に)に設定します。0
次に、幅を次のように計算しました。
var barOuterWidth = Math.floor(containerWidth / n);
var barInnerWidth = barOuterWidth - $(".bar").outerWidth(true);
最後に'width': barInnerWidth,
、幅を設定していました。
結果はこのjsFiddleにあります。右側にマージンギャップがあることに注意してください。これを軽減する方法を見つけることができると確信しています。(i == n - 1
または何でもない。)