JQuery/Javascript and the use of && operators

I'm trying to get a simple conditional statement to work, and running into problems. The failing code:

    $(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")
    }
});

If I remove the else if part of the code, I get the alert. If I try to use && or || operators it will fail. I've Googled, I can't find a reason why it's not working. I've also tried:

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

along with other ways, just in case it's some odd syntax thing.

Any help would be greatly appreciated. Thanks :)

Answers:

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

This is the condition you need (http://jsfiddle.net/malet/wLrpt/).

I would also consider making your conditions clearer like so:

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")
}
Answer
if (wwidth > 321 && wwidth < 481) {
//do something
}
Answer

There are two issues. The first has already been answered, the second is "wwidth > 320" which should be "wwidth>=320". What if the window is larger than 480?

you can also implement "between" as follows:

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.");  
}); 

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.