JS不读取第一个ID,只读取第二个ID
JS does not read first ID only second
好的,我有一些JS,根据进度条将加载的百分比,并在进度条内显示%。
请参阅下面的工作代码
$("#next-button").click(function() {
a.eventHub.publish("ui/nextclick")
});
UI.prototype.updatePercentile = function(a) {
if (this.isStandalone || -1 == a.percentile) $("#results-percentages")
.hide();
else {
$("#results-percentages")
.show(), $("#results-percentile-1")
.html(a.percentile), $("#results-suffix")
.html(a.suffix), $("#results-suffix-2")
.html(a.suffix), 1 === a.timesTaken ? ($("#results-timestaken")
.html(a.timesTaken + " time"), $("#results-percentile-2")
.html("100")) : ($("#results-timestaken")
.html(a.timesTaken + " times"), $("#results-percentile-2")
.html(a.percentile));
var b = 0;
$("#percentile-scale .scale-item")
.each(function() {
b += $(this)
.outerWidth()
}), $("#percentile-scale .scale-indicator").css("width", b * a.percentile / 100 + "%"),
$(".scale-marker").css("left", b * a.percentile / 100 + "%")
}
}
function move() {
var elem = document.getElementById("myBar");
var width = 0;
var id = setInterval(frame, 50);
function frame() {
if (width >= document.getElementById("results-percentile-2").innerHTML) {
clearInterval(id);
} else {
width++;
elem.style.width = width + '%';
document.getElementById("demo").innerHTML = width * 1 + '%';
}
}
}
然而,现在我想引入一个ne ID来添加百分比,它将根据分数显示为10th
或3rd
,然而,当我更改JS以包括另一个ID时(见下文),它只显示th、rd或st而不是数字。
HTML
<h3 style="text-align: left;"> You scored in the <em class="big-six"><span id="results-percentile-1"></span><span id="results-suffix-2"></span></em> percentile.
</h3>
<div class="myProgress">
<div id="myBar" style="width:0">
<div id="demo"><span id="results-suffix"></span></div>
<!--<div id="demo"></div>-->
</div>
JS
(function() {
var elem = document.getElementById("myBar");
var width = 0;
var id = setInterval(frame, 50);
function frame() {
if (width >= Number(document.getElementById("results-percentile-2").innerHTML)) {
clearInterval(id);
} else {
width++;
elem.style.width = width + '%';
document.getElementById("demo").innerHTML = width * 1 + document.getElementById("results-suffix").innerHTML ;
}
}
}());
ID必须是唯一的。如果需要多个具有相同标识符的元素,请使用一个类。
例如:
<div id="myBar" style="width:0">
<div class="demo"><span class="results-suffix"></span></div>
<div class="demo"></div>
</div>
您的javascript将更改为:
function frame() {
if (width >= Number(document.getElementById("results-percentile-2").innerHTML)) {
clearInterval(id);
} else {
width++;
elem.style.width = width + '%';
var demoElems = document.getElementsByClassName('demo');
var i, innerHTML, resultsElems;
// loop through the list of elements
for(i = 0; i < demoElems.length; i++) {
resultsElems = demoElems[i].getElementsByClassName('results-suffix')
innerHTML = width * 1;
// only append the results-suffix element if it exists
if(resultsElems.length > 0) {
innerHTML += resultsElems[0].innerHTML;
}
demoElems[i].innerHTML = innerHTML;
}
}
}
相关文章:
- Angular2-TypeError:无法读取属性'Id'(Typescript)中未定义的
- 在 JavaScript 中读取/加载 JSON,其中 'id' = 'x'
- 无法读取属性id成员路由
- "无法读取属性'id'未定义的“;解析工厂中声明的数组时
- 可以't让JavaScript将ID读取为变量名
- 我得到未捕获的类型错误:无法读取属性'选项'即使定义了元素id,也为null
- 使用cookie读取html对象的id
- 正在读取特定ID的JSON数据
- Angular JS TypeError:无法读取路由上未定义的属性“id”
- document.getElementById('id').selectedIndex 不读取索引,而是
- 无法读取 null 的属性“addEventListener”---但 ID 在那里
- 按 ID 读取元素
- 从 Windows Azure Mobile Services 中的读取请求中获取 ID
- 从同一个表中按tr id读取td值
- 读取JavaScript中的wicket id值
- 无法读取未定义的属性“id”
- 如何读取textbox's具有动态id
- 仅使用Javascript使用表行(
) id读取表单元格值( ) - 类型错误:不能读取属性'id'在nodejs中未定义的
- 从变量中读取 HTML “id” 属性