jQuery 多个 if else 语句卡在第二个条件

标签 jquery jquery-selectors

有人请告诉我为什么下面的脚本只适用于第一个“else if”语句?

即使宽度低于 800px,我仍然得到 900px 设置。

这是实时代码 http://jsbin.com/iranof/2/

<script type='text/javascript'>
$(document).ready(function(){ 

var window_width = $(window).width();  

if (window_width >= 900){
$('#adSize').attr('id','largeRectangle');    
}
else 
  if (window_width <= 800)  
  {
$('#adSize').attr('id','mediumRectangle');
}  
else 
  if (window_width <= 700)  
  {
$('#adSize').attr('id','square');
}  
else
  if (window_width <= 600)  
  {
$('#adSize').attr('id','smallSquare');
}  
else if (window_width <= 480)
{
$('#adSize').attr('id','mediumRectangle');
} 
});
</script>

最佳答案

700 <= 800。如果window_width小于800,则第一个else if检查将返回true - 因此它的主体将被调用;所有其他else if将被忽略。

重建您的代码,以便 <=检查处理的数量不断增加:

else if (window_width <= 480) { ... }
else if (window_width <= 600) { ... }
else if (window_width <= 700) { ... }
else if (window_width <= 800) { ... }

关于jQuery 多个 if else 语句卡在第二个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13208352/

相关文章:

asp.net - jquery ajax 方法中的无效 JSON 原语 : error when get the post values in asp.net

jquery - NivoSlider NivoControl Nav IE7 不显示

jquery - 用于选择名称不以 "something"开头/结尾的元素的选择器

javascript - jQuery 选择器,DIV 内的所有跨度

javascript - jQuery .insertAfter 仅使用类选择器一次

jQuery - 选择不包含在另一个类中的类

jquery - 在 jquery 上下文菜单中使用多个选择器

javascript - Jquery 无法正常工作

javascript - 如何检查 HTML 标签,然后在 jQuery 验证中添加错误

Jquery,如何取消选择单选组中的所有单选按钮