在使用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);
}

通过以上修改,即可创建出等宽等间隙的柱状图。

JavaScript创建等宽等间隙柱状图:错误分析及解决方案

原文地址: https://www.cveoy.top/t/topic/butx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录