我尝试<p>每隔100ms 更改一个元素的文本.数字每100毫秒n + 1.此循环仅在用户单击屏幕时执行.如果用户停止循环停止.
现在的问题是变量的当前值scoren总是以0.这不是得分如何运作.如何编辑scoren仅在页面加载时开始的代码,0并在第二个之后mousedown使用当前值恢复?另外如何在scoren值之后保存值mouseup并恢复该值?
我为此做了一个小提琴.
<p id="score">score:</p>
Run Code Online (Sandbox Code Playgroud)
var loop;
function game() {
var scoren = 0;
score = setInterval(function() {
scoren += 1;
$('#score').text('score:' + scoren);
}, 100);
}
$(document).mousedown(function() {
game();
});
$(document).mouseup(function() {
clearInterval(score);
});
Run Code Online (Sandbox Code Playgroud)
您需要首先了解范围如何在JavaScript中工作.你正在重新初始化每个mousedown里的scoren变量.这个:
var loop;
var scoren = 0;
function game() {
score = setInterval(function() {
scoren += 1;
$('#score').text('score:' + scoren);
},100);
}
$(document).mousedown(function() {
game();
});
$(document).mouseup(function() {
clearInterval(score);
});
Run Code Online (Sandbox Code Playgroud)