-3

我正在尝试在我的 jquery 中编写一个非常简单的 if 语句。如果变量等于数字一,则执行此操作,如果变量等于数字二,则执行此操作。这是我写的,但它似乎不起作用,我不知道为什么:

$("#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 有一些要比较的数字,您在下面阅读比较运算符 == 如何执行比较。

比较相等运算符

如果两个操作数的类型不同,JavaScript 会转换操作数,然后应用严格比较。如果任一操作数是数字或布尔值,则尽可能将操作数转换为数字;否则,如果任一操作数是字符串,则尽可能将另一个操作数转换为字符串。如果两个操作数都是对象,那么当操作数引用内存中的同一个对象时,JavaScript 会比较相等的内部引用,reference

于 2013-08-07T18:02:22.340 回答
3

使用比较运算符“==”而不是赋值“=”并删除之前的逗号else if

$("#next-btn").click(function() {
    if (current_slide == 1) {
        first_screen();
    }else if (current_slide == 2) {
        second_screen();
    } 
});
于 2013-08-07T18:04:21.520 回答
0

使用switch可能会更好:

$("#next-btn").click(function() {
    switch(current_slide) {
        case 1:
            first_screen();
            break;
        case 2:
            second_screen();
            break;            
    }
});
于 2013-08-07T18:08:06.017 回答
0

你不应该检查一个带有分配的条件:

$("#next-btn").click(function() {
    if(current_slide===1){
        first_screen();
    }else if (current_slide===2){
        second_screen();
    } 
});
于 2013-08-07T18:08:12.050 回答