Maison  >  Article  >  interface Web  >  jquery implémente le clic du compte à rebours

jquery implémente le clic du compte à rebours

WBOY
WBOYoriginal
2023-05-23 18:13:371017parcourir

Avec la popularité de l'Internet mobile, le développement front-end devient de plus en plus important. jQuery est une bibliothèque JS très courante. Elle fournit de nombreuses méthodes et fonctions pratiques pour faciliter le travail de développement des rédacteurs JS. Dans cet article, nous explorerons comment utiliser jQuery pour implémenter un effet de clic de compte à rebours et les principes de sa mise en œuvre.

1. Pour obtenir l'effet

Après avoir cliqué sur un bouton, le compte à rebours démarre et il est impossible de cliquer à nouveau sur le bouton pendant le compte à rebours ; lorsque le compte à rebours se termine, le bouton devient ; état à nouveau disponible et peut être cliqué à nouveau.

2. Principe de mise en œuvre

Pour obtenir les effets ci-dessus, vous devez utiliser les méthodes d'écoute d'événements et de minuterie de jQuery.

Tout d'abord, nous devons utiliser la surveillance des événements de clic pour écouter l'événement de clic du bouton. Une fois le bouton cliqué, nous exécutons une minuterie et le compte à rebours commence. Dans le minuteur, nous utilisons la méthode texte pour modifier le contenu textuel du bouton, qui diminue une fois par seconde jusqu'à la fin du compte à rebours.

Au cours de notre processus de compte à rebours, nous devons nous assurer que ce bouton ne peut pas être cliqué à nouveau, sinon cela entraînerait une confusion dans le timing. Nous pouvons désactiver le bouton via la méthode prop, qui peut définir la valeur d'attribut de l'élément, par exemple en désactivant le bouton.

Lorsque le compte à rebours est terminé, nous pouvons également supprimer l'attribut désactivé via la méthode prop, afin que le bouton redevienne disponible et puisse être cliqué à nouveau.

3. Code d'implémentation

Voici le code d'implémentation spécifique :

<button type="button" class="btn btn-primary" id="btn-countdown">点击开始倒计时</button>
$(function() {
    var $btn = $('#btn-countdown');
    var count = 5;
    var timer = null;
    $btn.on('click', function() {
        if(!timer) {
            timer = setInterval(function() {
                count--;
                $btn.text(count + '秒后重新发送').prop('disabled', true);
                if(count == 0) {
                    clearInterval(timer);
                    $btn.text('点击重新发送').prop('disabled', false);
                    timer = null;
                    count = 5;
                }
            }, 1000);
        }
    })
})

Dans le code ci-dessus, l'élément bouton est d'abord obtenu et le la valeur initiale est définie. Le compte à rebours est de 5. Nous utilisons $btn.on pour ajouter un événement d'écoute, et la fonction de rappel sera exécutée lorsque vous cliquerez sur le bouton.

Dans la fonction de rappel, nous jugeons que si le timer est nul, cela signifie qu'il n'y a pas de compte à rebours en cours. Nous commencerons à exécuter un timer une fois par seconde. Le compte à rebours sera décrémenté. Le bouton sera désactivé en même temps. Lorsque le compte à rebours se termine, le chronomètre s'arrêtera automatiquement et nous remplacerons le texte du bouton par « Cliquez pour renvoyer » et déverrouillerons le bouton.

4. Résumé

À l'ère de l'Internet mobile, le développement front-end reçoit de plus en plus d'attention. L'utilisation de jQuery peut considérablement améliorer notre efficacité de développement, nous permettant de réaliser des opérations DOM et des effets interactifs plus facilement et plus rapidement. L'effet de clic de compte à rebours est un effet interactif couramment utilisé dans le développement Web. Il est très pratique lorsque vous avez besoin d'obtenir des effets similaires, vous pouvez utiliser le code de cet article pour l'implémenter.

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!

Déclaration:
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