与えられた計算に基づいて、幅(単なる数値)として使用される数値を出力する一連の値があります。いくつかのボックスを特定の幅(および高さ)にします。ボックスの数は与えられた値の数と同じです。したがって、7つの値がある場合、7つのボックスがあり、これらのボックスは、最初に書き込んだ関数から出力される幅でなければなりません。だから、calculateBoxWidthからの出力値1は、同じのfuctionからの出力値2は、箱2の幅箱1の幅です2つのオブジェクトを反復し、対応する位置に1つのオブジェクトを等しく設定します
など
私は、コードにシンプルですがきれいな方法何を思ったんだけどこの。本質的に、私はちょうど2つのオブジェクトを反復し、それを対応する位置に他のものと等しく設定したいと思います。
これは、これまでの私のコードです:
var values = [0, 2, 4, 8, 10, 12, 14];
/*
* Calculate the width
*/
function calculateBoxWidth(valuesArray) {
var boxWidths = new Array();
var maxNumber = Math.max.apply(null, valuesArray);
for (var i = 0; i < valuesArray.length; i++) {
var value = values[i];
var calculatedWidth = ((value/maxNumber) * 70) + 30;
boxWidths.push(Math.round(calculatedWidth));
}
return boxWidths;
}
/*
* Set the width (and height)
*/
function setBoxDimensions() {
var theBox = document.getElementsByClassName('the-box');
var theWidths = calculateBoxWidth(values);
for (var i = 0; i < theBox.length; i++) {
// ??
}
for (var j = 0; j < theWidths.length; j++) {
// ??
}
}
これがどのように問題を解決するのかよく分かりませんが、おそらく私はその質問をより明確にすべきです。更新されます。 –