JavaScript与ID的混淆
编写一个基于浏览器的混合Cookie Clicker和一个暗室 金牌(球员的分数)显示在屏幕上。每次单击按钮时,都会向gold添加一个设置的数字。到目前为止,一切顺利。不起作用的是设计用来检查黄金价值是否大于100的逻辑 我已经做了很多次了,但是我不知道我做错了什么。这是一个语法错误,还是缺少一些附加代码JavaScript与ID的混淆,javascript,Javascript,编写一个基于浏览器的混合Cookie Clicker和一个暗室 金牌(球员的分数)显示在屏幕上。每次单击按钮时,都会向gold添加一个设置的数字。到目前为止,一切顺利。不起作用的是设计用来检查黄金价值是否大于100的逻辑 我已经做了很多次了,但是我不知道我做错了什么。这是一个语法错误,还是缺少一些附加代码 $(function() { $('#success') var gold = 0; // clicked food button adds 3 gold $
$(function() {
$('#success')
var gold = 0;
// clicked food button adds 3 gold
$('#food').click(function() {
gold+=3;
$('#gold').text(gold);
});
// clicked wool button adds 4 gold
$('#wool').click(function () {
gold+=4;
$('#gold').text(gold);
});
// clicked lumber button adds 7 gold
$('#lumber').click(function () {
gold+=7;
$('#gold').text(gold);
});
// if gold > 99, put
//alert("You won! Play again?")
if (('#gold') > 99) {
var x = confirm("You won! Play again?");
if (x == true) {
window.close();
}
else {
window.close();
}
}
});
你应该替换
if(“#gold”)>99{
符合
if(黄金>99)
我猜这是=)好吧,您正在定义函数,但没有调用它们……像这样尝试吧
$(function() {
// $('#success') // what does this line do ?
var gold = 0;
// clicked food button adds 3 gold
$('#food').click(function() {
gold+=3;
$('#gold').text(gold);
checkGold();
});
// clicked wool button adds 4 gold
$('#wool').click(function () {
gold+=4;
$('#gold').text(gold);
checkGold();
});
// clicked lumber button adds 7 gold
$('#lumber').click(function () {
gold+=7;
$('#gold').text(gold);
checkGold();
});
function checkGold() {
// if gold > 99, put
//alert("You won! Play again?")
if (parseInt($('#gold').text()) > 99) {
var x = confirm("You won! Play again?");
if (x == true) {
window.close();
} else {
window.close();
}
}
return true;
}
});
仔细查看((“#gold”)>99{line。检查黄金量是否超过99的代码-应该在什么时候运行?实际上,它只在“就绪”处理程序运行时运行一次。您需要进行该检查(并且正确执行该检查)每次黄金的数量发生变化。我没有考虑过运行时间;谢谢你解决这个问题。@tanaydin我已经反复讨论了这一行的结构,但仍然无法决定什么是合适的。我使用的是id,所以我认为按id列出黄金是合适的。