【发布时间】:2018-05-03 13:11:19
【问题描述】:
这是一个非常简单的程序,当您按下按钮时,进度条内的值会增加,直到达到 100%。
<!DOCTYPE html>
<html>
<title>example</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
</head>
<body>
<div class="w3-container">
<h2>dynamic Progress bar</h2>
<p>example:</p>
<div class="w3-light-grey">
<div id="myBar" class="w3-container w3-green w3-center" style="width:20%">20%</div>
</div>
<br>
<button class="w3-button w3-green" onclick="move()">Click Me</button>
</div>
<script>
function move() {
var elem = document.getElementById("myBar");
var width = 20;
var id = setInterval(frame, 10);
function frame() {
if (width >= 100) {
clearInterval(id);
} else {
width++;
elem.style.width = width + '%';
elem.innerHTML = width * 1 + '%';
}
}
}
</script>
</body>
</html>
当您按下按钮时,无论进度条内的值是多少(例如 10% 20%),它都会达到 100%。我希望当我按下按钮时,值仅增加一定数量(例如,如果值为 10%,并且我按下按钮,我希望值将达到 20%)。
谢谢大家!!
【问题讨论】:
-
这段代码几乎是从 W3Schools 直接复制和粘贴的:w3schools.com/howto/howto_js_progressbar.asp 显示您自己尝试过的内容,也许我们可以帮助您!这里有一个提示,
setInterval(frame, 10)将每 10ms 调用一次frame()函数,因此不断更新进度条... -
所以设置端点.....而不是100,把它设置为你想要的值。
标签: javascript html css progress-bar