2012-11-29 63 views
0

我有一個網頁是爲了生成一個隨機數,然後當數字= 5時,它顯示一條贏得消息..如果不顯示丟失消息,但它不顯示任何警報。 。我錯過了什麼?Javascript隨機數字不顯示結果

<!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文件,所以它可以接受隱藏/顯示效果...任何我試過沒有工作

回答

3

你有return x你爲x產生一個隨機值後。這意味着在該行之後沒有任何JavaScript代碼將在該函數中運行。

此外,您的if語句需要使用'=='來進行比較,而不是'='這是賦值。

2

是的,它可能很難。主要問題再次不得不是return x是「==」。因此,這

if (x=4) 

真正應該說:

if (x==4) 

你以前說什麼,你是assinging X 4,使具有根本沒有意義,打亂了一切。

希望這可以幫助你!

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

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); 
0

下面是一個簡化版本,外化警報(我假設你不打算以後使用它們)

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

alert(WinLose());