2017-02-27 2 views
0

Je rencontre des problèmes pour définir des animations lorsque la fenêtre du navigateur est de taille différente, en d'autres termes, pour rendre les animations sensibles.Else Si conditionnel avec des opérateurs logiques ne fonctionnant pas dans Jquery

Dans le code ci-dessous, seul le premier bloc If fonctionne. Le bloc else Si ne fonctionne pas, il n'y a pas d'erreurs de syntaxe.

Merci pour l'aide.

$(window).scroll(function(){ 
var firstAnimation = function() { 
    $('#in-view').delay(300).css("display","block").animate({   
     opacity:1, 
     right: -150 
    },'slow'); 
}; 

var h4Animation = function() { 
$('#hr1').delay(500).animate({ 
    width: '60%' 
},'200'); 
}; 


if ($(window).width() <= 768) { 
    if ($(window).scrollTop() > 200) { 
     h4Animation(); 
     firstAnimation();  
    } else if ($(window).width() >= 769) { 
     if ($(window).scrollTop() > 100) { 
      h4Animation(); 
      firstAnimation();    
     } 
    } 
} 
}); 
+0

Je ne vois pas de problème dans votre code, vous aussi poster un jsFiddle pour nous montrer quel est exactement votre problème? –

+0

après avoir indenté votre code correctement - êtes-vous sûr que l'elseif est correctement situé? J'ai l'impression que le elseif devrait être au premier niveau - lié au 'window.height' au lieu du second niveau. – Christoph

+0

Comme décrit dans mon commentaire ci-dessous. J'ai oublié de fermer la première condition. Merci pour l'aide de toute façon. – FabMon

Répondre

0

Votre autre est au mauvais endroit:

if ($(window).width() <= 768) { 
    if ($(window).scrollTop() > 200) { 
     h4Animation(); 
     firstAnimation();  
    } else if ($(window).width() >= 769) { // how can window width be both <= 768 and >= 769? 
     if ($(window).scrollTop() > 100) { 
      h4Animation(); 
      firstAnimation();    
     } 
    } 
} 
}); 

Au lieu de cela:

if ($(window).width() <= 768) { 
    if ($(window).scrollTop() > 200) { 
     h4Animation(); 
     firstAnimation();  
    } 
} 
else if ($(window).width() >= 769) { // the condition isn't really necessary since if it is not <= 768 it will be >= 768 
     if ($(window).scrollTop() > 100) { 
      h4Animation(); 
      firstAnimation();    
     } 
    } 
} 
}); 
+0

Depuis que j'ai apporté des modifications au code plus tôt, j'ai oublié de fermer la première condition. Le problème est maintenant résolu. En passant, je pensais que le navigateur confondrait la même valeur de 768 pour moins de ou plus que j'ai ajouté un pixel, mais il est redondant après tout. Merci pour l'aide MikeS – FabMon