【问题标题】:javascript: else if condition not working [duplicate]javascript:否则如果条件不起作用[重复]
【发布时间】:2016-06-02 03:39:36
【问题描述】:

我正在处理的按钮在单击时会将 div 平移到左侧。 在脚本中,“if”条件可以正常工作,但“if else”条件不行。

我是否忘记了要在脚本中包含的内容?

这是我的脚本:

<script>
    function panleft(el){
        var elem = document.getElementById(el);

        if (elem.style.left = "90%"){   
            elem.style.transition = "left 0.3s ease-in 0s";
            elem.style.left = "70%";
            }

        else if (elem.style.left = "70%"){  
            elem.style.transition = "left 0.3s ease-in 0s";
            elem.style.left = "90%"
            }

    }

</script>

【问题讨论】:

  • ====== 有什么区别?
  • 你听说过JSHintJSLint吗?如果是/否,请使用它。

标签: javascript css conditional-statements


【解决方案1】:

在 Javascript 中,等号 (=) 运算符的工作方式如下:

  • x = y 是赋值(即给变量 X 值 Y
  • x == y 是一个松散的相等测试(即 x 等于 y),它是松散的,因为它确实类型强制(更改类型以尝试找到一个匹配),例如如果 "1" == 1(字符串 vs 数字),Javascript 会将其中一种格式转换为另一种格式,直到找到匹配项或未找到匹配项为止。
  • x === y 是严格相等。 (x 等于 y)不改变原始类型。

在您的示例中,您正在分配值,而不是测试相等性。这就是你问题的根源。

此外,您的“if”语句并没有真正起作用,因为您也在进行分配,而不是平等测试。

【讨论】:

  • 我知道了,非常感谢!
猜你喜欢
  • 1970-01-01
  • 2012-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多