2011-07-23 3 views
2

varが1または0の場合、1の場合はページがcnn.comに移動する必要があります.0の場合はgoogle.comに移動します。問題は、1または0の場合、常にgoogle.comに移動することです。事前にhttp://jsbin.com/ucovef/7おかげで実行されているバージョンをチェックアウトJavascript ifステートメントが実行されていない2番目のパラメータ

function random(){ 
var randomnumber=Math.floor(Math.random()*2) 
document.getElementById('randomnumber').innerHTML=(randomnumber); 
check_random() 
} 
function check_random(){ 
if (randomnumber = 0){ 
this.location.href ="http://www.cnn.com"; 
} 
if (randomnumber = 1){ 
this.location.href="http://www.google.com"; 
} 
} 

答えて

4

あなたが必要です:

if (randomnumber == 0) 

そして:

if (randomnumber == 1) 

randomnumber = 0randomnumber = 1代入式番号0を割り当てとしています1をvに彼らはifの条件文の中にいるにもかかわらず、

0と等しくないすべてがJavaScriptのtrue式ですので、だから、それは常にgoogle.comに行きます。

2

チェックするには==を使用する必要があります。 =値を評価する代わりに値を設定します。私はまた、関数に乱数を渡すことをお勧めします。

function random(){ 
    var randomnumber=Math.floor(Math.random()*2) 
    document.getElementById('random').innerHTML=(randomnumber); 
    check_random(randomnumber) 
} 

function check_random(randomnumber){ 
    if (randomnumber == 0){ 
     this.location.href ="http://www.cnn.com"; 
    } 
    else if(randomnumber == 1){ 
     this.location.href="http://www.google.com"; 
    } 
} 
+0

感謝を試してみて、それはまだhttp://jsbin.com/ucovef/11 –

+0

に動作していない変数と同じ名前のIDを使用しないでください。 divのidを "random"に変更し、上で説明したようにrandomnumberをスクリプトに渡します。それはうまく動作します。 http://jsbin.com/ucovef/18 – Dan

1

== not = !!!!!!!!!!!!!!!!を使用する必要があります。

0

ベンrandomのローカル変数をcheck_randomに使用しています。これは動作しません。この

function random(){ 
var randomnumber=Math.floor(Math.random()*2) 
document.getElementById('randomnumber').innerHTML=(randomnumber); 
check_random(randomnumber) 
} 
function check_random(n){ 
if (n == 0){ 
this.location.href ="http://www.cnn.com"; 
} 
if (n == 1){ 
this.location.href="http://www.google.com"; 
} 
} 
関連する問題