如果/ Else jQuery破坏了我的脚本

时间:2017-05-02 19:42:33

标签: javascript jquery twitter-bootstrap twitter-bootstrap-3

我正在尝试设置一个if / else语句,如果一个类存在,则var num将等于100,如果该类不存在,那么var num将等于55. {{1然后用于了解屏幕将偏移的像素数。任何帮助将不胜感激,因为Javascript是我的弱点之一。

num

3 个答案:

答案 0 :(得分:0)

你不需要额外的括号。另外,只需检查.length以查看元素是否存在。这是主观的,但IMO使它更容易阅读。

if ( $(".affix-top").length ) {
    num = 100;
} else {
    num = 55;
}

答案 1 :(得分:0)

你有{不属于的地方

if (($(".affix-top")[0]){) {

应该是

if (($(".affix-top")[0])) {

答案 2 :(得分:0)

这很难理解。

 if (($(".affix-top")[0]){) {
     num = 100;
 } else {
    num = 55;
 }

可以简化为此,因为匹配的任何内容都是 true

 var num = $(".affix-top").length ? 100 : 55;

如果脚本在HTML页面的其余部分加载之前运行,那将无效。

 <script type="application/javascript"> $(".affix-top").length > 0; // false </script>
 <div class="affix-top"></div>
 <script type="application/javascript"> $(".affix-top").length > 0; // true </script>

所以将所有内容都包装在jQuery ready块中。

  jQuery(document).ready(function(){
       var num = $(".affix-top").length ? 100 : 55;
       //....... insert more code here
  });