2010-12-09 5 views
3

meine Frage zwei Funktionen übergeben werden hin- und herzuschalten, warum .. und aus der Seite eine andere Funktion ist es, dass auch verwirrend plz mir sagen,Umschaltfunktion

$('#login a').toggle(function() { 
    $(this) 
     .addClass('active') 
     .next('form') 
     .animate({'height':'show'}, { 
     duration:'slow', 
     easing: 'easeOutBounce' 
     }); 
    }, function() { 
    $(this) 
     .removeClass('active') 
     .next('form') 
     .slideUp(); 
    }); 
    $('#login form :submit').click(function() { 
    $(this) 
     .parent() 
     .prev('a') 
     .click(); 
    }); 

Antwort

1

Die toggle() Methode nimmt zwei (oder mehr) als Argumente und ruft jedes Mal eines von ihnen auf, wenn das Element angeklickt wird.

Funktionen sind first class citizens in Javascript: Sie können sie wie jedes andere Objekt bearbeiten können, einschließlich an andere Funktionen übergeben:

function foo(otherfunction) 
{ 
    otherfunction(); 
} 

function bar() 
{ 
    window.alert("bar() was called."); 
} 

foo(bar); // Ultimately calls `bar()`. 
+0

Superbruder vielen Dank – Mihir

0

Nach JQuery API documentation Funktionen werden auf abwechselnden Klicks aufgerufen werden:

  • erster Klick - erste Funktion,
  • zweiter Klick - zweite Funktion,
  • dritter Klick - erste Funktion,
  • vierte Klick - zweite Funktion ...

Wie für Handler von Submit-Button, simuliert er für Anker klicken (a) Element, das Element Geschwister, die die Schaltfläche enthält, und befindet sich vor Containerelement. Gefällt mir:

<a href="#">click will be simulated for this link</a> 
<div> 
    <input type="submit"/> 
</div> 
Verwandte Themen