我有一个简单的脚本,它使用 setInterval 每秒生成一个 div 元素。我面临的问题是 addScore() 为窗口中的每个元素触发一次。因此,如果生成了四个目标,则 addScore() 函数会运行四次。
<div class="wrap">
<div class="intro">
<p>Simply press go and click the circles as fast as you can!</p>
<button class="go" type="button">Go!</button>
</div>
</div>
<script type="text/javascript">
var score = 0; // Starting score for game
function addScore(){
score++;
console.log(score);
}
function spawnTargets() {
$(".wrap").append("<div class='target'>Hello</div>");
$(".target").click(function(){
$(this).hide();
addScore();
});
}
$(".go").click(function() {
$(".intro").toggle();
setInterval(spawnTargets, 1000);
});
</script>