2017-02-27 2 views
0

Ich habe Probleme bei der Einstellung von Animationen, wenn das Browserfenster eine andere Größe hat.Else Wenn Bedingte logische Operatoren in Jquery nicht funktionieren

Im folgenden Code funktioniert nur der erste If-Block. Der else If Block funktioniert nicht, es gibt keine Syntaxfehler.

Danke für die Hilfe.

$(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

ich, kein Problem in Ihrem Code sehen, so können Sie Posten jsfiddle uns zu zeigen, Was ist genau dein Problem? –

+0

nachdem Sie Ihren Code korrekt eingerückt haben - sind Sie sicher, dass der elseif korrekt positioniert ist? Ich denke, dass das elseif auf der ersten Ebene sein sollte - gebunden an die 'window.height' statt an die zweite Ebene. – Christoph

+0

Wie in meinem Kommentar unten beschrieben. Ich habe vergessen, die erste Bedingung zu schließen. Danke für die Hilfe trotzdem. – FabMon

Antwort

0

Ihr sonst ist an der falschen Stelle:

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

Statt:

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

Da ich den Code früher geändert habe, habe ich vergessen, die erste Bedingung zu schließen. Das Problem ist jetzt gelöst. Übrigens dachte ich, der Browser würde den gleichen Wert von 768 für weniger als oder größer als das verwirren, so dass ich ein Pixel hinzugefügt habe, aber es ist überflüssig. Danke für die Hilfe MikeS – FabMon

Verwandte Themen