如何将厘米值转换为英寸并将文本"cm"替换为"in"?爪哇语



我正试图用纯Javascript重新创建我看到的服装测量图。我很难弄清楚如何获取innerhtml中的数字值并将其乘/除*2.54。此外,我想添加";cm";或";在";在数字的末尾指示测量系统。

https://jsfiddle.net/kud8sj7w/5/

<div id="xs-sizes">
<li class="measurement" style="left: 15%; top: 33%;">
63.5
</li><li class="measurement" style="left: 48%; top: 16%;">
43.5
</li><li class="measurement" style="left: 48%; top: 79%;">
50.5
</li><li class="measurement" style="left: 48%; top: 50%;">
43
</li><li class="measurement" style="left: 83%; top: 62%;">
64.5
</li>

function convert() {
var measurements = document.getElementsByClassName("measurement");

for(var i = 0; i < measurements.length; i++){

measurements[i].innerHTML = valNum * 2.54;
}
}

您需要存储当前状态才能知道是否需要转换。在您的情况下,最初为"CM">

let cur_measurement = 'CM';
function convert() {
let measurements = document.getElementsByClassName("measurement");
let CM = document.querySelector('input[value="CM"]');
let IN = document.querySelector('input[value="IN"]');

let ratio = 0;
if(CM.checked && cur_measurement != 'CM'){
ratio = 2.54;
cur_measurement = 'CM';
} else if (IN.checked && cur_measurement != 'IN' ){
ratio = 1/2.54;
cur_measurement = 'IN';
}
for (var i = 0; i < measurements.length; i++) {
let cur_val = parseFloat(measurements[i].innerText);
measurements[i].innerText = Math.round(cur_val * ratio * 10) / 10;
}
}

因此,对于measurements[i].innerHTML = valNum * 2.54;valNum是未定义的。看看convert(),没有参数。当它被调用时,它乘以valNum,即undefined

想想valNum应该等于什么,或者2.54应该在什么上运行。我希望这会有所帮助。同样要字符串cm/unit,您可以直接连接,但首先获得结果。

相关内容

  • 没有找到相关文章