3 回答

TA貢獻1895條經驗 獲得超3個贊
hitElement.innerHTML = hits % 5
var hits = 0;
var hitElement = document.querySelector(".hits");
document.body.onkeyup = function (e) {
if (e.keyCode == 32) {
addHit();
}
};
var addHit = function () {
hits++;
renderHits();
};
var renderHits = function () {
hitElement.innerHTML = hits %= 5;
console.log({hits});
};
var resetHits = function () {
hits = 0;
renderHits();
};
<span class="hits"> 0 </span>
<button onclick="resetHits()" class="tryagain">RESTART</button>
更新:根據@tarkh 的觀點,更新為hitElement.innerHTML = hits %= 5;
,因此該變量值也是最新的。

TA貢獻1812條經驗 獲得超5個贊
在這里我修改你的代碼
<!DOCTYPE html>
<html>
<body>
<span class="hits"> 0 </span>
<button onclick="resetHits()" class="tryagain">RESTART</button>
<script>
var hits = 0;
var hitElement = document.querySelector('.hits');
document.body.onkeyup = function(e) {
if(e.keyCode == 32) {
// ADD counter check here
if(hits === 4 + 1) { // Add +1 if you need do reset after 4 displayed
// Do what you want
resetHits();
}
// Then it depends on your logic,
// if you don't need to cycle counter immediately,
// add rest to else condition like so
else { addHit(); }
}
}
var addHit = function() {hits++; renderHits()}
var renderHits = function() {hitElement.innerHTML = hits}
var resetHits = function() {hits = 0; renderHits()}
</script>
</body>
</html>

TA貢獻1852條經驗 獲得超1個贊
試試這個。4 不會顯示。它將自動重置為 0。
<!DOCTYPE html>
<html>
<body>
<span class="hits"> 0 </span>
<button onclick="resetHits()" class="tryagain">RESTART</button>
<script>
var hits = 0;
var hitElement = document.querySelector('.hits');
document.body.onkeyup = function(e) {
if(e.keyCode == 32) {addHit()}}
var addHit = function() {
hits++;
if (hits === 4) {
resetHits();
}
renderHits()
}
var renderHits = function() {hitElement.innerHTML = hits}
var resetHits = function() {hits = 0; renderHits()}
</script>
</body>
</html>
添加回答
舉報