jQuery Click Toggle Between Two Functions
Müssen Sie unterschiedliche Aktionen ausführen, je nachdem, ob ein Element einmal oder mehrmals angeklickt wird? So erreichen Sie dies mit jQuery:
Eingebaute .toggle()-Methode
jQuery bietet zwei .toggle()-Methoden:
Benutzerdefinierte Plugin-Implementierung
Als Plugin kann diese Funktionalität implementiert werden als folgt:
(function($) { $.fn.clickToggle = function(func1, func2) { var funcs = [func1, func2]; this.data('toggleclicked', 0); this.click(function() { var data = $(this).data(); var tc = data.toggleclicked; $.proxy(funcs[tc], this)(); data.toggleclicked = (tc + 1) % 2; }); return this; }; }(jQuery));
Verwendung
Mit dem Plugin können Sie Folgendes aufrufen:
$('#test').clickToggle(function() { $(this).animate({ width: "260px" }, 1500); }, function() { $(this).animate({ width: "30px" }, 1500); });
Spezifisches Beispiel
Basierend auf der ursprünglichen Frage können Sie die gewünschte Funktionalität wie folgt erreichen:
var count = 0; $("#time").clickToggle( function() { $(this).animate({ width: "260px" }, 1500); }, function() { $(this).animate({ width: "30px" }, 1500); } );
Das obige ist der detaillierte Inhalt vonWie schalte ich mit jQuery zwischen zwei Funktionen beim Klicken auf ein Element um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!