0

我有一个旨在生成随机数的网页,然后当数字 = 5 时,它会显示一条获胜消息..如果不显示失败消息,但它没有显示任何警报..我错过了什么吗?

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">

function WinLose()
{
var x=document.getElementById("demo");
x=x.innerHTML=Math.floor((Math.random()*5)+1);
return x;
if (x=4)
{
    alert("winner!");
}
else
{
    alert("loser");
}
}
</script>

</head>
<body>


<p id="demo">Click the button to display a random number between 1 and5.</p>


<button onclick="WinLose()">Try it</button>

</body>
</html>

编辑:设法让这个位工作,所以现在它根据其数量显示赢或松,但有谁知道我如何交换 if 语句中的警报以显示 DIV 部分。我包含了一个 jQuery 文件,因此它可以接受隐藏/显示效果......我尝试过的任何东西都不起作用

4

5 回答 5

3

return x为 x 生成随机值后,您就拥有了。这意味着该行之后没有javascript代码将在该函数中运行。

此外,您的 if 语句需要使用 '==' 进行比较,而不是使用分配的 '='。

于 2012-11-29T21:47:35.020 回答
2

是的,这可能很艰难。主要问题再次必须不是return x“==”。所以这

if (x=4)

真的应该说:

if (x==4)

您之前所说的是您将 x 分配为 4,因此这根本没有任何意义,并且把一切都搞砸了。

希望这对你有帮助!

于 2012-11-29T21:53:59.167 回答
0

你的代码:

x=x.innerHTML=Math.floor((Math.random()*5)+1);

xx.innerHTML正在接收x.innerHTML = random number

正确方法:(去掉“x=”)

x.innerHTML = Math.floor((Math.random()*5)+1);
于 2012-11-29T21:58:24.190 回答
0

这是一个将警报外部化的简化版本(我假设您以后不打算使用它们)

function WinLose(){
  var x=Math.floor((Math.random()*5)+1);
  document.getElementById("demo").innerHTML=x;
  return (x==5) ? "Winner!" : "Loser";
}

alert(WinLose());
于 2012-11-29T22:42:30.330 回答
0

您需要return x在生成随机值之后;你必须添加x == 4

function WinLose()
{
var x=document.getElementById("demo");
x=x.innerHTML=Math.floor((Math.random()*5)+1);
if (x==4) {
    alert("winner!");
} else {
    alert("loser");
}
    return x;
}

演示

于 2012-11-29T21:55:14.067 回答