2017-04-06 1 views
0

Ich möchte fragen, wie genau diese Schleife funktioniert?Wie funktioniert diese Jquery-Schleife?

Ich habe eine Dokumentation über .data() -Methode gelesen, aber ich kann nicht herausfinden, was in diesem Beispiel passiert. Beim Betteln setzen wir diese "Größe" und großen Parameter genau so ein?

if ($(window).width() >= 1025) { 
    $(function(){ 
    $('.navbar').data('size', 'big'); 

    $(window).scroll(function(){ 
     if ($(document).scrollTop() > 0) { 
     if ($('.navbar').data('size') == 'big') { 
      $('.navbar').data('size', 'small'); 
      $('.navbar').stop().animate({ 
      height: '5vh' 
      }, 600); 
     } 
     } else { 
     if ($('.navbar').data('size') == 'small') { 
      $('.navbar').data('size', 'big'); 
      $('.navbar').stop().animate({ 
      height: '15vh' 
      }, 600); 
     } 
     } 
    }); 
+5

Hier gibt es keine Schleife. Nur ein 'scroll' Event-Handler, der beim Scrollen des Fensters ausgelöst wird. –

+0

Es könnte ein Aussehen ähnlich wie "Looping" gegeben haben, da das "Scroll" -Ereignis ziemlich viel und möglicherweise in sehr schneller Folge abfeuern kann. Aber es ist nur ein Ereignis, das unendlich oft gefeuert werden kann. Wie bereits erwähnt, gibt es keine Schleife – ADyson

Antwort

0

Es gibt keine Schleife, Daten dienen nur zum Speichern des Parameters "Größe". (kann "groß" oder "klein" sein).

Der Wert ändert sich beim Scrollen. Dann wird die Höhe der Navigationsleiste aktualisiert.

+0

Ok, aber welche Art von Daten speichert große oder kleine? – Atomix

+0

@Atomix "groß" oder "klein" ** ist ** die Daten in Ihrem Beispielcode. Sie sind die Werte, die der Code in das Datenattribut "Größe" einfügt. Wenn Sie so viel mit jQuery zu tun haben, müssen Sie vielleicht einige Tutorials machen und die Dokumentation ein wenig genauer lesen, bevor Sie zu viel mehr versuchen. – ADyson

+0

"$ ('. Navbar'). Data ('Größe', 'groß');" bedeutet, dass "groß" in Daten gespeichert wird, die in der Navigationsleiste "Größe" genannt werden – Cyril