我有一組值,基於給定的計算,輸出一個數字,它應該被用作寬度(只是一個數字)使一些盒子具有一定的寬度(和高度)。盒子的數量與給定值的數量相同。因此,如果有七個值,則會有七個框,並且這些框必須是從我寫的第一個函數輸出的寬度。迭代兩個對象,並設置一個等於另一個在它的相應位置
所以從calculateBoxWidth產值1箱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++) {
// ??
}
}
謝謝,但不知道這是如何解決這個問題,也許我應該在問題上更清楚。將更新。 –