Exécuter La Fonction Après Retard

J'ai la fonction jQuery globale ci-dessous stockée, mais au chargement de la page, je veux l'exécuter après un délai de 1000. Y a-t-il quelque chose qui ne va pas avec ma syntaxe? Je sais que le retard passe toujours avant la fonction. Il n'est pas de répondre.

Fonction Globale:

function showpanel() {     
       $(".navigation").hide();
       $(".page").children(".panel").fadeIn(1000);
    ;}

Fonction D'exécution:

parallax.about.onload=function(){
    $('#about').delay(3000).showpanel();
};
62
demandé sur M98 2012-06-02 09:57:29

4 réponses

$(document).ready(function() {

  // place this within dom ready function
  function showpanel() {     
    $(".navigation").hide();
    $(".page").children(".panel").fadeIn(1000);
 }

 // use setTimeout() to execute
 setTimeout(showpanel, 1000)

});

Voir ici

119
répondu thecodeparadox 2017-05-23 11:33:24

J'ai cherché et trouvé la solution dans l'URL suivante est meilleur.

Http://www.tutorialrepublic.com/faq/call-a-function-after-some-time-in-jquery.php

Il vaut la peine d'essayer.

Il ajoute votre fonction donnée à la file d'attente des fonctions à exécuter sur l'élément correspondant qui est actuellement ceci.

 $(this).delay(1000).queue(function() {

     // your Code | Function here

     $(this).dequeue();

  });

, puis exécutez la fonction suivante sur la file d'attente pour le(s) élément (s) correspondant (s) qui est actuellement cette de nouveau.

34
répondu ebrahim.mr 2016-01-05 18:35:38

Vous pouvez ajouter la fonction timeout dans jQuery (afficher l'alerte après 3 secondes):

$(document).ready(function($) {
    setTimeout(function() {
     alert("Hello");
    }, 3000);
});
18
répondu Prince Patel 2016-12-23 10:55:59

Cette réponse est juste utile pour comprendre comment vous pouvez faire delay en utilisant la fonction JQuery delay.

, Imaginez que vous avez une alerte et vous souhaitez définir le texte de l'alerte puis afficher l'alerte et, après quelques secondes de le cacher.

Voici la solution simple:

$(".alert-element").html("I'm the alert text").fadeIn(500).delay(5000).fadeOut(1000);

C'est très simple:

  1. .html() va changer le texte de .alert-element
  2. {[4] } s'estompera après 500 millisecondes
  3. jQuery delay(5000) fonction fera 5000 millisecondes de délai avant d'appeler la fonction suivante
  4. .fadeOut(1000) à la fin de l'instruction disparaîtra le .alert-element
1
répondu M98 2016-07-31 13:16:41