抱歉,我没有接受过Java的正规培训。我正在尝试制作一个操作加载进度栏的功能。我想在完成时将“ donezo”类添加到#ammount中。但是,该类未添加。我相信变量已正确初始化。做一个querySelector而不是“ ammount” var似乎可行。希望有人可以向我解释为什么会这样吗?非常感激。
(function move() {
var ammount = document.getElementById("ammount");
var counter = document.getElementById("counter");
var wrapper = document.getElementById("wrapper");
var status = 1;
var loader = setInterval(fireZeLoader, 10);
function fireZeLoader() {
if (status >= 100) {
clearInterval(loader);
wrapper.innerHTML = wrapper.innerHTML + '<div class="finished">Complete</div>';
ammount.classList.add("donezo");
} else {
status++;
ammount.style.width = status + '%';
counter.innerHTML = status + '%';
}
}
}());
发生这种情况是因为在您修改wrapper.innerHTML
DOM时wrapper
会重新创建它。也就是说,您之前获得的所有引用现在都指向不再在屏幕上的对象。您可以交换这两行:
ammount.classList.add("donezo");
wrapper.innerHTML = wrapper.innerHTML + '<div class="finished">Complete</div>';
另一个选择是仔细修改DOM而不分配给innerHTML
,我建议您进行后者修改。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句