【发布时间】:2018-04-21 00:51:01
【问题描述】:
我在一个 while 循环中有多个动态 div id,这个 div id 将在 JavaScript 中用于显示径向进度条。我的问题是,虽然我有唯一的 ID,但我无法将这个唯一的 ID 传递给我的 JavaScript 以显示每个 ID 的不同径向进度。我曾尝试使用 div 类,但这只是在所有进度条中重复循环的最后一个 id。我不想使用链接或悬停来获取唯一 ID,因为我希望 JavaScript 在页面加载时触发。如何让我的 while 循环中的每个 div 正确显示进度条。
sample.php
<?php
..................................
while($obj = $getcDetails->fetch()){
//div that displays radial progress bar
echo '
<div class="page" style="color:#000000;">
<div id="progress-pie-chart'.$Id.'" data-percent="'.$cId.'">
<div class="ppc-progress">
<div class="ppc-progress-fill"></div>
</div>
<div class="ppc-percents">
<div class="pcc-percents-wrapper">
<span>%</span>
</div>
</div></div></div>';
?>
sample.js
<script>
$(function(){
var $ppc = $('.progress-pie-chart'),//add dynamic id here to display multiple progress bar unique to that div
percent = parseInt($ppc.data('percent')),
deg = 360*percent/100;
if (percent > 50) {
$ppc.addClass('gt-50');
}
$('.ppc-progress-fill').css('transform','rotate('+ deg +'deg)');
$('.ppc-percents span').html(percent+'%');
});
</script>
非常感谢任何帮助或指导。
【问题讨论】:
-
为什么需要知道id?您需要遍历 $ppc 才能一次处理一个。特别是因为您基于百分比的以下逻辑,我假设每个百分比都不同,并且并非所有百分比都> 50
-
此外,您向我们展示的您在循环中生成的标记看起来不完整。它缺少两个结束 div 标记。
-
@Taplar 这是否需要 JavaScript 在循环内?如果可以,你能告诉我如何在 PHP 循环中添加 JavaScript 函数吗,我过去一直不成功
-
@Taplar,谢谢。在这里复制我的代码时打错了,我已经更新了我的问题
标签: javascript java php jquery html