2016-05-23 30 views
0

我正在编写游戏,当游戏结束时,我想根据得分显示一个特定的文本。Javascript运算符与DOM事件处理程序不起作用

这里就是我的编码:

<div id="game-over"> 
     <h3><font color="orange">Tu as courus <span id="score"></span> mètres, tu peux faire mieux (ou pas)</font></h3> 
     <h1 id="customegotext" onmouseover="mouseOver()" onmouseout="mouseOut()">Passe ta souris içi</h1> 
     <a href="javascript:void(0)" class="button restart">Réessayer ?</a> 
    </div> 
    </div> 
    <script> 
     var scoretext; 
    document.getElementById("score") 
    if (score < 45) { 
     scoretext = "Text1"; 
    } else if (score > 100) { 
     scoretext = "Text2"; 
    } else if (score > 500) { 
     scoretext = "Text3"; 
    } else if (score > 750) { 
     scoretext = "Text4"; 
    } else { 
     scoretext = "Text5"; 
    } 
    document.getElementById("customegotext").innerHTML = scoretext; 
function mouseOver() { 
    document.getElementById("customegotext").style.color = "orange"; 
} 

function mouseOut() { 
    document.getElementById("customegotext").style.color = "black"; 
} 
</script> 

的问题是,它总是显示“text5”

感谢您的帮助,请记得,我是一个初学者在编码

PS :“分数”值是在单独的.js文件中定义的。

+0

你能告诉这里的“得分”的定义是什么文件?或者至少从这个文件的代码样本? 我想到的第一件事是“分数”没有得到适当的修改 – kazu

+0

你如何填充'分数'?看起来像是空的 – gurvinder372

+0

另外,你可以在'if if else if ...'block之前添加这一行:'console.info('score =',score);'然后让我们知道打印的内容。 –

回答

1

score是一个简单的DOM对象(因为ID的默认成为一个全球性的属性),在这里你需要它比较值。

score = document.getElementById("score").innerHTML 

现在,它将具有可用于比较其他Numbers的值。

此外,你需要做的这个调用当有span内的值。你已经张贴以上

代码,是简单地做在页面加载这种比较时span是空的。

1

下面的代码替换脚本代码:

<script> 
    var scoretext; 

    score = document.getElementById("score"); 

    if (score < 45) { 
     scoretext = "Text1"; 
    } else if (score > 100) { 
     scoretext = "Text2"; 
    } else if (score > 500) { 
     scoretext = "Text3"; 
    } else if (score > 750) { 
     scoretext = "Text4"; 
    } else { 
     scoretext = "Text5"; 
    } 

    document.getElementById("customegotext").innerHTML = scoretext; 

    function mouseOver() { 
     document.getElementById("customegotext").style.color = "orange"; 
    } 

    function mouseOut() { 
     document.getElementById("customegotext").style.color = "black"; 
    } 
</script> 
+0

仍然呈现“text5” – k0spwn

+0

@ k0spwn可以请警报(分);得分变量后告诉我的价值 – Priyank

+0

当游戏时播放,即显示该值是当前得分,当游戏结束似乎它什么都没显示 – k0spwn