JavaScript创建等宽等间隙柱状图:错误分析及解决方案
在使用JavaScript创建等宽等间隙柱状图时,常见错误在于计算柱状图的总宽度和间隙设置。
原代码中,计算总宽度使用了错误的公式(3 + (2 * num - 2)),实际上应该是(num + 1) * sumNum。这是因为柱状图由num个柱子和num-1个间隙组成,所以总宽度应该是柱子宽度乘以柱子数量加1。
另外,设置每个柱子的marginLeft属性时,使用相同的值sumNum,会导致所有柱子紧挨着放置。可以通过将marginLeft属性设置为(2 * sumNum)来为每个柱子间隔一个柱子的宽度。
以下是修正后的代码:
let num = prompt('输入柱状图数量');
let box = document.querySelector('.box');
let boxW = box.clientWidth;
let sumNum = boxW / (num + 1);
console.log(sumNum, num + 1);
for (let index = 1; index <= num; index++) {
let div = document.createElement('div');
div.style.width = sumNum + 'px';
div.style.marginLeft = (2 * sumNum) + 'px';
box.appendChild(div);
}
通过以上修改,即可创建出等宽等间隙的柱状图。
原文地址: https://www.cveoy.top/t/topic/butx 著作权归作者所有。请勿转载和采集!