我正在制作一个游戏,我试图healthLost
在失去健康的任何 javascript 对象上显示。这是我的对象代码的相关部分player
function Player(id) {
this.id = id;
this.displayText = "<img src = 'http://3.bp.blogspot.com/-kAhN0HX-MBk/T_5bApfhbJI/AAAAAAAAAuI/lUww8xT9yV8/s1600/smileys_001_01.png'" +
"class='onTop' id='" + this.id + "' alt='you' border='0' />" +
"<div id = '" + this.id + "health' class = 'healthLost hide'></div>";}
和 for monsters
( 对象数组)
function createMonster(name,startingPoint,level) {
this.id = "monsters[" + monsterIdPlacholder++ + "]";
this.displayText = "<img src='http://4.bp.blogspot.com/-wo6VrFt3ER4/UOq47YphNUI/AAAAAAAACCY/e-JnxNYzyWQ/s1600/712324538.png'" +
"alt='bad guy' border='0' id = '" + this.id + "' />" +
"<div id = '" + this.id + "health' class = 'healthLost hide'></div>";
}
用于hide
:
.hide{
display:none;
}
在我的函数中attack()
我这样写
function attack( attacker, defender ) {
//code to calculate healthLost
var displayHealthDivId = defender.id + "health";
console.log( displayHealthDivId );
console.log( defender.displayText );
$( "#" + displayHealthDivId ).removeClass("hide");
$( "#" + displayHealthDivId ).html( healthLost );
});
}
}
现在上面的 jquery 适用于我的player
对象,但不适用于我monster
的对象,console.log
返回以下
playerhealth
adventure.js (line 240)
<img src = 'http://3.bp.blogspot.com/-kAhN0HX-MBk/T_5bApfhbJI/AAAAAAAAAuI/lUww8xT9yV8/s1600/smileys_001_01.png'class='onTop' id='player' alt='you' border='0' /><div id = 'playerhealth' class = 'healthLost hide'></div>
adventure.js (line 242)
monsters[0]health
adventure.js (line 240)
<img src='http://4.bp.blogspot.com/-wo6VrFt3ER4/UOq47YphNUI/AAAAAAAACCY/e-JnxNYzyWQ/s1600/712324538.png'alt='bad guy' border='0' id = 'monsters[0]' /><div id = 'monsters[0]health' class = 'healthLost hide'></div>
那么为什么它对怪物不起作用?我该如何解决这个问题?
我真正想要的是让 div 出现然后向上淡出,但我稍后会这样做。但是,如果您可以将其包含在答案中,那就太好了。
抱歉,我无法创建小提琴,代码太多,并且错误(引用错误,因为我没有输入所有代码)不断出现。
- 编辑 -
我找到了一种解决方法,但是我仍然不知道上面的代码有什么问题,如果您发现了什么请告诉我,但是上面的链接将不再显示我的问题。