Javascript随机数不显示结果

时间:2012-11-29 21:46:23

标签: javascript html random

我有一个网页,意在生成一个随机数,然后当数字= 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文件,所以它可以接受隐藏/显示效果...我试过的任何东西都没有工作

5 个答案:

答案 0 :(得分:3)

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

另外,你的if语句需要使用'=='来进行比较而不是'='这是赋值。

答案 1 :(得分:2)

是的,这可能很难。主要问题必须是return x以外的“==”。所以这个

if (x=4)

真的应该说:

if (x==4)

你之前说过的是你正在向x做4分,所以根本就没有任何意义,并把一切都搞砸了。

希望这能帮到你!

答案 2 :(得分: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;
}

DEMO

答案 3 :(得分:0)

您的代码:

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

x正在接收x.innerHTML,然后x.innerHTML = random number

正确的方式:(删除“x =”)

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

答案 4 :(得分:0)

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

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

alert(WinLose());