在 javascript 中创建段落数组
creating array of paragraph in javascript
我在 JS 中绘制数据 canvas。我需要以固定间隔输入垂直和水平轴值。
我会问如何创建一个段落或文本数组来分配绝对坐标和右轴值以围绕 canvas 绘制它们。
目前我逐行创建和编辑:
document.getElementById('percent0').innerHTML =
a.toFixed(5-Math.round(Math.log10(a)));
a = minVal+(maxVal-minVal)*0.25;
document.getElementById('percent25').innerHTML =
a.toFixed(5-Math.round(Math.log10(a)));
a = minVal+(maxVal-minVal)*0.5;
document.getElementById('percent50').innerHTML =
a.toFixed(5-Math.round(Math.log10(a)));
a = minVal+(maxVal-minVal)*0.75;
document.getElementById('percent75').innerHTML =
a.toFixed(5-Math.round(Math.log10(a)));
a = minVal+(maxVal-minVal)*1;
document.getElementById('percent100').innerHTML =
a.toFixed(5-Math.round(Math.log10(a)));
但如果可能的话,我想使用一种聪明的方法来处理数组。
谢谢。
只需将标记值添加到数组并在它发生变化的地方使用它:
const marks = [0, 25, 50, 75, 100};
marks.forEach(mark => {
const a = minVal+(maxVal-minVal)*mark / 100.0;
document.getElementById('percent' + mark).innerHTML =
a.toFixed(5-Math.round(Math.log10(a)));
});
如果你也想用代码创建那些 html 元素,你可以简单地在你的 HTML 中添加类似 <div id="marks-container;></div>
的东西,然后用 JS 添加所有段落 -
const p = document.createElement('p');
p.id = "percent" + mark;
document.querySelector("#marks-container").appendChild(p);
我在 JS 中绘制数据 canvas。我需要以固定间隔输入垂直和水平轴值。
我会问如何创建一个段落或文本数组来分配绝对坐标和右轴值以围绕 canvas 绘制它们。
目前我逐行创建和编辑:
document.getElementById('percent0').innerHTML =
a.toFixed(5-Math.round(Math.log10(a)));
a = minVal+(maxVal-minVal)*0.25;
document.getElementById('percent25').innerHTML =
a.toFixed(5-Math.round(Math.log10(a)));
a = minVal+(maxVal-minVal)*0.5;
document.getElementById('percent50').innerHTML =
a.toFixed(5-Math.round(Math.log10(a)));
a = minVal+(maxVal-minVal)*0.75;
document.getElementById('percent75').innerHTML =
a.toFixed(5-Math.round(Math.log10(a)));
a = minVal+(maxVal-minVal)*1;
document.getElementById('percent100').innerHTML =
a.toFixed(5-Math.round(Math.log10(a)));
但如果可能的话,我想使用一种聪明的方法来处理数组。
谢谢。
只需将标记值添加到数组并在它发生变化的地方使用它:
const marks = [0, 25, 50, 75, 100};
marks.forEach(mark => {
const a = minVal+(maxVal-minVal)*mark / 100.0;
document.getElementById('percent' + mark).innerHTML =
a.toFixed(5-Math.round(Math.log10(a)));
});
如果你也想用代码创建那些 html 元素,你可以简单地在你的 HTML 中添加类似 <div id="marks-container;></div>
的东西,然后用 JS 添加所有段落 -
const p = document.createElement('p');
p.id = "percent" + mark;
document.querySelector("#marks-container").appendChild(p);