web-dev-qa-db-fra.com

Puis-je mettre un délai (500) avant un addClass ()?

$(document).ready(function(){
    $("#info-text-container").click(function(){
        $("#info-text").delay(500).addClass("info-text-active");
    });   
});

Cela ne met pas de retard lorsque vous cliquez dessus. Ce que je veux accomplir. Pourquoi et ce piratage est-il possible de le surmonter? Merci!

23
user2097217

delay ne fonctionne qu'avec des méthodes d'animation, vous pouvez utiliser la fonction setTimeout:

$("#info-text-container").click(function(){
    setTimeout(function(){
       $("#info-text").addClass("info-text-active");
   }, 500);
});
40
undefined

Pas tout à fait comme ça, mais comme ça par exemple:

$("#info-text").delay(500).queue(function(next) {
  $(this).addClass("info-text-active");
  next();
});
38
elclanrs