如果语句评估为真,则不是

时间:2017-10-17 13:37:30

标签: javascript jquery

我认为这是一个微不足道的错误,但我无法解决它。

我有一个简单的脚本可以在em中找到页面的宽度,然后是if语句,为了这个问题,它只包含console.log:< / p>

$(document).ready(function() { 
  var windowWidth = '';
  function getWidth() {
    windowWidth = $(window).width() / parseFloat($("body").css("font-size"));
  }
  window.addEventListener("load", getWidth);
  if (windowWidth < 40) {
    console.log("whaaaat");
  }
});

我的body标记的font-size16px。这不应该评估为真,但确实如此。当我在控制台中调用windowWidth变量时,它返回大于40.我疯了吗?

1 个答案:

答案 0 :(得分:1)

您的代码有几个问题。

  • 首先发布您尝试将空白值与40进行比较,因为在比较它时尚未填充windowWidth变量。
  • 第二个问题是您在load语句中使用$(document).ready事件,这是不必要的。无论如何,在页面加载后会触发$(document).ready

这是一个固定版本:

&#13;
&#13;
$(document).ready(function() { 
  var windowWidth = $(window).width() / parseFloat($("body").css("font-size"));
  
  console.log(windowWidth);
  
  if (windowWidth < 40)
    console.log("whaaaat");
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;