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