$(this) .prop() 只在第一次工作
$(this) .prop() only works the first time
我想创建一个引擎,它问一个随机问题(在本例中为随机数)。当它回答正确时,(通过按右键)它会询问一个新的。 我的代码只在第一次工作。右键始终是第一次按下的
按钮$( 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>
问题是你在哪里设置新数字
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");}
});
});
<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>
相关文章:
- Javascript:JSON请求仅在第一次工作
- 让jqGrid第一次工作
- show-hide只在ajax调用中第一次工作
- $(this) .prop() 只在第一次工作
- 复选框选择/取消选择触发器第一次工作,但在随后的尝试中失败
- 光滑的滑块只在Jquery Mobile中第一次工作
- Gulp-rev:不是第一次工作,而是在第一次工作之后工作
- NG-CLICK功能仅在第一次工作
- jQuery Animation只是第一次工作
- jquery .load() 函数仅在第一次工作
- 加载ajax的Javascript只能在第一次工作
- 我的node.js http请求第一次工作,现在它显示了一些错误
- Jquery ajax调用只在第一次工作
- 在jquery 1.3.2中反复工作的Ajax只在1.7.1中第一次工作
- 对象搜索只在第一次工作
- addEventListener只在第一次工作
- 动画只在第一次工作
- AngularJS和Fullcalendar: eventClick只在第一次工作
- 无法调用$stateProvider两次来更新视图(它只在第一次工作)
- 调用js函数只能在jquery手机上第一次工作