如果声明条件不满足Javascript?

时间:2015-07-17 17:09:03

标签: javascript angularjs if-statement

我确定这是一个愚蠢的逻辑错误,但我一直无法看到我做错了什么。使用除1024之外的任何值时,正确的if语句会触发,由于某种原因,不满足1024条件。提前谢谢!

var width = 1024; //screen.width;
var height = 768; //screen.height;
var subpageModifier;

if (width > 360 && width < 767) {
    subpageModifier = .28;
};
if( width > 767 && width < 800){
    subpageModifier = 0.15;
};
if (width > 800 && width < 961) {
    subpageModifier = .15;
}; 
if (width > 961 &&  width >1135){
    subpageModifier = 0.3;
};
if (width >1135 && width < 1535){
    subpageModifier = 0.15;
};

注意:如果有帮助,我正在使用AngularJS

5 个答案:

答案 0 :(得分:4)

(width > 961 &&  width >1135)

第二个>应为<

(width > 961 &&  width <1135)

PS:使用if-else,如果找到匹配项,则无需检查每个条件

答案 1 :(得分:2)

if (width > 961 &&  width >1135){
    subpageModifier = 0.3;
};

应小于1135:

if (width > 961 &&  width < 1135){
    subpageModifier = 0.3;
};

答案 2 :(得分:2)

而不是

if (width > 961 &&  width >1135){

使用:

if (width > 961 &&  width < 1135){

理想情况下,一切都应该是:

var width = 1024; //screen.width;
var height = 768; //screen.height;
var subpageModifier;

if (width >= 360 && width <= 767) {
    subpageModifier = .28;
}else if( width > 767 && width <= 800){
    subpageModifier = 0.15;
}else if (width > 800 && width <= 961) {
    subpageModifier = .15;
}else if (width > 961 &&  width <= 1135){
    subpageModifier = 0.3;
}else if (width >1135 && width <= 1535){
    subpageModifier = 0.15;
}else{
    //do something
}

答案 3 :(得分:1)

有3个更新。

  1. if语句后应该没有分号。
  2. 您应该在上述条件下使用if-else。
  3. 您的if (width > 961 && width >1135){第二个条件有问题。

答案 4 :(得分:1)

这是你的问题:

if (width > 961 &&  width > 1135){
    subpageModifier = 0.3;
};

两者都是&gt;符号