我想创建一个引擎,询问一个随机问题(在这种情况下,是一个随机数)。当它正确回答时,(通过按右键)它会询问一个新的。我的代码只在第一次工作。如果右按钮始终是那个,那是第一次按下
$( document ).ready(function() {
var number = Math.floor(Math.random() * 4 + 1);
$('#my_div').text(number);
$('button').click(function() {
var buttonNumber = $(this).prop('id');
if(buttonNumber == number){
$('#my_div2').text(buttonNumber);
setTimeout(function(){
var number = Math.floor(Math.random() * 4 + 1);
$('#my_div').text(number);
}, 1);
}
else{ $('#my_div2').text("wrong");}
});
});
如果您需要html
<html>
<div id="buttons">
<button id="1">1</button>
<button id="2">2</button>
<button id="3">3</button>
<button id="4">4</button>
<button id="5">5</button>
</div>
<div id="my_div"> X </div>
<div id="my_div2"> X </div>
</html>
答案 0 :(得分:0)
问题在于您设置新号码
var number = Math.floor(Math.random() * 4 + 1); //<--- you use var
这不会替换之前声明的数字变量。请删除var
$( document ).ready(function() {
var number = Math.floor(Math.random() * 4 + 1);
$('#my_div').text(number);
$('button').click(function() {
var buttonNumber = $(this).prop('id');
if(buttonNumber == number){
$('#my_div2').text(buttonNumber);
setTimeout(function(){
number = Math.floor(Math.random() * 4 + 1);
$('#my_div').text(number);
}, 1);
}
else{ $('#my_div2').text("wrong");}
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="buttons">
<button id="1">1</button>
<button id="2">2</button>
<button id="3">3</button>
<button id="4">4</button>
<button id="5">5</button>
</div>
<div id="my_div"> X </div>
<div id="my_div2"> X </div>
&#13;