web-dev-qa-db-ja.com

addClass()の前にdelay(500)を配置できますか?

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

これにより、クリックされたときに遅延が発生することはありません。私はこれを達成したい。なぜこれがハッキング可能であり、克服できるのですか?ありがとう!

23
user2097217

delayはアニメーションメソッドでのみ機能します。setTimeout関数を使用できます。

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

それほど好きではありませんが、たとえば次のように:

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