web-dev-qa-db-fra.com

JQuery/Javascript et l'utilisation des opérateurs &&

J'essaie d'obtenir un simple énoncé conditionnel et je rencontre des problèmes. Le code défaillant:

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

Si je supprime le reste si une partie du code, je reçois l'alerte. Si j'essaie d'utiliser && ou || opérateurs, il échouera. J'ai googlé, je ne trouve pas de raison pour que cela ne fonctionne pas. J'ai aussi essayé:

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

avec d'autres moyens, juste au cas où il s'agirait d'une chose de syntaxe étrange.

Toute aide serait grandement appréciée. Merci :)

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

C'est la condition dont vous avez besoin (http://jsfiddle.net/malet/wLrpt/).

Je voudrais aussi envisager de clarifier vos conditions, comme ceci:

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")
}
14
Mikey
if (wwidth > 321 && wwidth < 481) {
//do something
}
2
Jonny Burger

Il y a deux problèmes. La première a déjà reçu une réponse, la seconde est "wwidth> 320" qui devrait être "wwidth> = 320". Et si la fenêtre est plus grande que 480?

vous pouvez également implémenter "entre" comme suit:

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