9

我试图让一个简单的条件语句起作用,但遇到了问题。失败的代码:

    $(document).ready(function(){
    var wwidth = $(window).width();

    if (wwidth < 321) {
        alert("I am 320 pixels wide, or less");
        window.scrollTo(0,0);
    } else if (wwidth > 321) && (wwidth < 481) {
        alert("I am between 320 and 480 pixels wide")
    }
});

如果我删除 else if 部分代码,我会收到警报。如果我尝试使用 && 或 || 运营商它会失败。我用谷歌搜索,我找不到它不起作用的原因。我也试过:

((wwidth > 321 && wwidth < 481))

以及其他方式,以防万一它是一些奇怪的语法。

任何帮助将不胜感激。谢谢 :)

4

3 回答 3

18
((wwidth > 321) && (wwidth < 481))

这是您需要的条件 (http://jsfiddle.net/malet/wLrpt/)。

我还会考虑使您的条件更清晰,如下所示:

if (wwidth <= 320) {
    alert("I am 320 pixels wide, or less");
    window.scrollTo(0,0);
} else if ((wwidth > 320) && (wwidth <= 480)) {
    alert("I am between 320 and 480 pixels wide")
}
于 2012-04-21T17:06:53.943 回答
2
if (wwidth > 321 && wwidth < 481) {
//do something
}
于 2012-04-21T17:08:25.280 回答
0

有两个问题。第一个已经回答,第二个是“wwidth > 320”,应该是“wwidth>=320”。如果窗口大于 480 怎么办?

您还可以按如下方式实现“之间”:

Number.prototype.between = function(a, b) {
  return this >= a && this <= b
}

$(document).ready(function(){
    var wwidth = $(window).width();
    if (wwidth < 321) {
      alert("I am 320 pixels wide, or less");
      window.scrollTo(0,0);
    } else if (wwidth.between(321,481))
        alert("I am between 320 and 480 pixels wide")
    else alert("I am greater than 480 pixels wide.");  
}); 
于 2012-04-21T17:25:36.147 回答