Maison > interface Web > js tutoriel > Comment basculer entre deux fonctions lors d'un clic sur un élément à l'aide de jQuery ?

Comment basculer entre deux fonctions lors d'un clic sur un élément à l'aide de jQuery ?

Barbara Streisand
Libérer: 2024-11-09 01:42:02
original
685 Les gens l'ont consulté

How to Toggle Between Two Functions on Element Click Using jQuery?

jQuery Cliquez pour basculer entre deux fonctions

Besoin d'exécuter différentes actions selon qu'un élément est cliqué une ou plusieurs fois ? Voici comment y parvenir avec jQuery :

Méthode .toggle() intégrée

jQuery propose deux méthodes .toggle() :

  • Une méthode bascule la visibilité des éléments.
  • A La méthode obsolète (supprimée dans jQuery 1.9) appelée toggle(func1, func2) gère efficacement le basculement entre deux fonctions lors d'un clic sur un élément.

Implémentation de plugin personnalisé

En tant que plugin, cette fonctionnalité peut être implémentée comme suit :

(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));
Copier après la connexion

Utilisation

Avec le plugin, vous pouvez appeler :

$('#test').clickToggle(function() {   
    $(this).animate({
        width: "260px"
    }, 1500);
},
function() {
    $(this).animate({
        width: "30px"
    }, 1500);
});
Copier après la connexion

Exemple spécifique

Sur la base de la question d'origine, vous pouvez obtenir la fonctionnalité souhaitée comme suit :

var count = 0;
$("#time").clickToggle(
    function() {
        $(this).animate({
            width: "260px"
        }, 1500);
    },
    function() {
        $(this).animate({
            width: "30px"
        }, 1500);
    }
);
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal