有人请告诉我为什么下面的脚本只适用于第一个“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/