2 votes

Besoin d'un texte clignotant jquery pour qu'il ne clignote que pendant une période de 8 secondes, puis qu'il s'arrête

Je dois arrêter de faire clignoter le texte après 8 secondes. Tout fonctionne parfaitement sauf la possibilité de l'arrêter après les 8 secondes. Je suis novice en la matière, j'ai besoin d'aide...

Voici le code que j'utilise, merci de faire des suggestions ou d'ajouter à ce code ce dont j'ai besoin pour qu'il s'arrête après 8 secondes :

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.1.min.js"></script>

<div id="msg"> <strong><font color="red">text example</font></strong></p> </div>

<script type="text/javascript" >
function blink(selector){
    $(selector).fadeOut('slow', function(){
        $(this).fadeIn('slow', function(){
            blink(this);
        });
    });
}

blink('#msg');
</script>

Remerciements

7voto

Just_Mad Points 1370

Vous pouvez essayer d'ajouter un tel élément à votre code :

var stopBlinking = false;
setTimeout(function() 
{
    stopBlinking = true;
}, 8000);

function blink(selector) {
    $(selector).fadeOut('slow', function() {
        $(this).fadeIn('slow', function() {
            if (!stopBlinking)
            {
                blink(this);
            }
            else
            {
                $(this).hide();
            }
        });
    });
}

Regardez l'exemple aquí

1voto

Uttara Points 2466
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.1.min.js"></script>

<div id="msg"> <strong><font color="red">text example</font></strong></p> </div>

<script type="text/javascript" >
var timer = 0;

var timeSpan = setInterval(function(){
    timer++;
},1000);

function blink(selector)
{
    if(timer == 0)
        timeSpan;
    $(selector).fadeOut('slow', function(){
        $(this).fadeIn('slow', function(){
            if(timer < 8)
               blink(this);
                    else
                    {
                  clearInterval(timeSpan);
              $(this).hide();
                    }
        });
    });
}

blink('#msg');
</script>

Essayez ceci

0voto

thecodeparadox Points 41614
function blink(selector){

  // all blink happen with 8 seconds interval

  setTimeout(function() {

   $(selector).fadeOut('slow', function(){

        $(this).fadeIn('slow', function(){

            blink(this); // recursive function will call after fadeIn finish

        });
   });

  }, 8000); // set interval to 8 seconds
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X