我想要做的是在网站上的几张卡片上添加进度条。我正在使用 Processwire CMS(它使用 PHP)来生成我的卡片,每张卡片都有一个进度元素、一个筹集的金额和一个目标金额,如下所示:
<progress class="progressBar" id="progressbar<?php echo $currentSection; ?>" value="0" max="100"></progress>
<span id="raisedNum<?php echo $count; ?>" class="hidden">
<?php echo $raised; ?>
</span>
<span id="goalNum<?php echo $count; ?>" class="hidden">
<?php echo $goal; ?>
</span>
这些元素都包裹在一个生成我的卡片的循环中。然后,我尝试使用 Javascript 获取 id="raisedNum" 和 "goalNum" 跨度中的值,将目标金额除以提高的金额,然后将该数字插入到 Progress 的“value”属性中。
这是我到目前为止的Javascript代码,它不起作用:
do {
var count = 0;
var raised = document.getElementById("raisedNum".count);
var goal = document.getElementById("goalNum".count);
raised2 = parseInt(raised);
goal2 = parseInt(goal);
var percent = goal2 / raised2;
document.getElementById("progressbar".count).value += percent;
count++; } while (raised != null);
我对 Javascript非常陌生,非常感谢任何帮助来解决这个问题。
另外,我在我的 Javascript 导入标签上使用了 defer 属性,但不确定我是否应该这样做。我想我需要在加载所有卡片后运行脚本,以便它可以获取值;但是,它仍然需要在计算并生成百分比值后更改这些值。
我看过类似的 StackOverflow 问题,例如: 如何获取/更改 HTML5 进度条的值? 但无法弄清楚如何改变它以满足我的需求。
提前感谢您提供任何有用的回复!