![](/img/trans.png)
[英]How to create clickable progress bar increment and decrement value of progress bar with 20%
[英]How do I increment and decrement a progress bar value on pointerdown & pointerup?
目前,我正在嘗試為游戲編寫代碼,當指針向下時,進度標簽會隨着時間的推移慢慢耗盡,而在指針向上時,進度條會從它停止的值慢慢重新填充。
這是我目前的工作邏輯:
HTML:
<progress id="air" max="100" value="100"></progress>
Javascript:
// Javascript
var air = document.querySelector('#air').value;
function drowning(){
if (air <= 0){
console.log("You have drowned");
} else {
air--;
}
};
addEventListener('pointerdown', function() {
var losingair = setInterval(drowning, 250);
});
addEventListener('pointerup', function() {
clearInterval(drowning);
setInterval(gainingair, 200);
function gainingair() {
if (air = 100) {
clearInterval(gainingair);
}
else {
air++;
}
}
});
不要將document.querySelector('#air').value
分配給air
變量,而是僅分配document.querySelector('#air')
部分。 並使用air.value
來訪問該值。
此外,您正在以錯誤的方式清除間隔。 setInterval()
返回的值用作 clearInterval() 方法的參數。
這是工作代碼
var air = document.querySelector('#air'); var losingairInterval, gainingairInterval function drowning() { if (air.value <= 0) { console.log("You have drowned"); clearInterval(losingairInterval); } else { air.value--; } } function gainingair() { if (air.value == 100) { clearInterval(gainingairInterval); } else { air.value++; } } addEventListener('pointerdown', function() { clearInterval(gainingairInterval); losingairInterval = setInterval(drowning, 250); }); addEventListener('pointerup', function() { clearInterval(losingairInterval); gainingairInterval = setInterval(gainingair, 200); }); dispatchEvent(new CustomEvent('pointerdown'))
<progress id="air" max="100" value="100"></progress>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.