Jquery “si ceci et si cela” puis de le faire

Ce devrait être si simple, mais il ne fonctionne pas pour moi. Je veux dire:

Si ce n'est pas la classe "current" ET si le corps de la classe n'est pas égal à "la maison", puis le faire....

Voici ce que je suis en train (entre autres choses) en vain. Seulement la première condamnation des œuvres.

$(".nav1 > ul > li").mouseleave(function() {

    if ( (!$(this).hasClass("current")) || (!$(body).hasClass("home"))  ){
         $(this).find(".nav-overlay").show();   
    }

}); 

Ce que je fais mal? Merci!!!!

MISE À JOUR POUR PLUS DE CLARTÉ:

Je veux seulement montrer ".nav-overlay" lorsque les conditions suivantes sont remplies:

  1. Vous n'êtes pas sur la page d'accueil (body class="accueil")
    ET
  2. ".sur le nav 1 > ul > li" de la classe n'est pas égal à "actuel"
|| signifie "ou". && signifie "et".
Vous dites "classe n'a pas d'égal"; vous voulez dire que l'ensemble de la valeur de l'attribut de classe? Ce sera un test pour 1 classe spécifique de la valeur dans la collection de classes.
Pour une raison quelconque, le && ne fonctionne que sur la page d'accueil. Ainsi, lorsque le corps a class="accueil", c'correctement ignore la fonction. Cependant, à l'intérieur d'une page, lorsque le corps a class="anythingelse" et le li class="current" - alors elle ne l'ignore pas la fonction.

OriginalL'auteur LBF | 2013-08-13