3

ユーザーを月の最初にbar.html、月の2番目にgjb.html、月の3番目にguerr.html、その他の日付にerror.htmlに誘導するようにします。

私は何が間違っているのですか?以下は、ユーザーのコンピューターの日付に関係なく、bar.htmlのみをロードします。

<html>
<script type="text/javascript">
    currentTime = new Date();
    if (currentTime.getDate() = 1)
        window.location = "bar.html";
    else if (currentTime.getDate() = 2))
        window.location = "gjb.html";
    else if (currentTime.getDate() = 3))
        window.location = "guerr.html";
    else window.location = "error.html";
</script>
</html>

私はこれらすべてに真新しいので、あなたが完全な馬鹿にそうするようにそれを説明してください。

4

3 に答える 3

3

使用している代入演算子ではなく、適切な等価チェックが必要です。

<html>
<script type="text/javascript">
    var currentDate = new Date().getDate();
    if (currentDate === 1)
        window.location = "bar.html";
    else if (currentDate === 2))
        window.location = "gjb.html";
    else if (currentDate === 3))
        window.location = "guerr.html";
    else window.location = "error.html";
</script>
</html>

それは適切な型チェックを行い、整数を取得することが保証されているため、これはより安全なチェックであるため、お勧め===します。==迷ったら===.

于 2012-11-30T17:30:56.643 に答える
1

で日付を設定していますcurrentTime.getDate() = 1currentTime.getDate() == 1またはを試してくださいcurrentTime.getDate() === 1。(私は常にjsを使用しているわけではありませんが、「=」は間違っています)。

于 2012-11-30T17:32:59.687 に答える
1

二重等号 (==) を使用してみてください。単一の等号演算子は代入を意味し、二重の等号は比較を意味します。

例:

// int a = 1; に値を割り当てます。

// b に値を割り当てます int b = 2;

// a が b と等しいかどうかを確認します

if( a == b ) {
        System.out.println("They're equal!");
}
else {
         System.out.println("They're not equal!");
} 
于 2012-11-30T17:44:43.423 に答える