我对任何形式的编码都很陌生,所以请原谅我的无知,但是当我使用var作为第二个函数的间隔时,它将无法正常工作,我已经尽力了不必问,但我的搜索没有结果。请帮忙!
function click_01() {
var elem = document.getElementById('trash_02');
setInterval(frame, 10);
var width = 0
function frame(){
if (width >= 100){
clearInterval("frame");
width = 0;
} else {
width = width + 1;
elem.style.width = width + '%';
}
}
}
click_01();
答案 0 :(得分:0)
传递函数而不是字符串
只需从功能框架中删除引号和括号即可。如果你传递引号,它将成为字符串,你的代码将无法正常工作。
所以这是你的答案
function click_01() {
var intr=setInterval(frame, 100);//here you passed "frame()" which is string
function frame(){
let elem=document.getElementById('cls');
elem.style.width=(parseInt(elem.style.width)+1)+'px';
elem.innerHTML=parseInt(elem.style.width)+"%";
if(parseInt(elem.style.width)>=100){
elem.style.width=0;
clearInterval(intr);
elem.innerHTML='Loading complete';
}
}
}

<div id="cls" style="background-color:red;width:0px">
</div>
<div><button onclick="click_01()"> click to launch loader</botton> </div>
&#13;