0

我对 JS 和 HTML 很陌生(大约 20 小时前开始)并且已经遇到了问题:您可以在下面看到我的代码。正如一个教程所说,单击按钮将更改 statusLine 文本。但是出了点问题,我无法弄清楚。

    <!DOCTYPE html>
<html>
<head>
<title>Некое подземелье</title>
</head>
<body>
<p id="statusLine">Вы попали в подземелье.</p>

<button type="button" onclick="goDeeper()">Идти глубже в подземелье</button>

<script>
    function goDeeper()
     {
       var nextEvent=(Math.floor(Math.random()*10+1));
       switch(nextEvent){
        case'1':
            document.getElementById("statusLine").innerHTML="Вам на пути попался гоблин!";
            break;
                }
     }
</script>
</body>
</html>

所以,有些不对劲。我应该怎么做才能解决这个问题?

4

2 回答 2

3

尝试使 case 语句匹配数字1而不是字符串'1'

function goDeeper()
{
    var nextEvent = Math.floor(Math.random()*10+1);
    switch(nextEvent) {
        case 1:
            document.getElementById("statusLine").innerHTML="Вам на пути попался гоблин!";
            break;
    }
}

或者就此而言,如果您只需要匹配一个条件,只需摆脱switch并使用一个简单的if块:

function goDeeper()
{
    var nextEvent = Math.floor(Math.random()*10+1);
    if (nextEvent == 1) {
        document.getElementById("statusLine").innerHTML="Вам на пути попался гоблин!";
    }
}
于 2013-11-03T20:25:39.793 回答
0
What I understand you want to change the text on click button so Try this 

<!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{
document.getElementById("demo").innerHTML="Hello World";
}
</script>
</head>
<body>

<p>Click the button to trigger a function.</p>

<button onclick="myFunction()">Click me</button>

<p id="demo"></p>`enter code here`

</body>
</html>

Refrence Link : http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_onclick
于 2013-11-03T20:30:13.330 回答