-3

jquery で非常に単純な if ステートメントを記述しようとしています。変数が 1 に等しい場合はこれを行い、2 に等しい場合はこれを行います。これは私が書いたものですが、うまくいかないようで、理由がわかりません:

$("#next-btn").click(function() {
    if (current_slide = 1) {
        first_screen();
    }, else if (current_slide = 2) {
        second_screen();
    } 
});

おそらく非常に単純ですが、助けていただければ幸いです。

4

4 に答える 4

11

代入演算子の代わりにifステートメント条件で比較演算子 を使用する必要があり、ステートメントの(true)ブロックの中括弧を最初に閉じた後に削除します。ここでテストできます。===commathenif

if (current_slide == 1) {
      first_screen();
} else if (current_slide == 2) {
      second_screen();
} 

current_slide には比較する数値があると思います。比較演算子 == が比較を実行する方法を以下でお読みください。

比較等号演算子

2 つのオペランドが同じ型でない場合、JavaScript はオペランドを変換してから、厳密な比較を適用します。オペランドのいずれかが数値またはブール値の場合、可能であればオペランドは数値に変換されます。そうでなければ、どちらかのオペランドが文字列の場合、可能であればもう一方のオペランドが文字列に変換されます。両方のオペランドがオブジェクトである場合、JavaScript は、オペランドがメモリ内の同じオブジェクトを参照する場合に等しい内部参照を比較します。

于 2013-08-07T18:02:22.340 に答える