Programing

jQuery 지연이 작동하지 않음

lottogame 2020. 11. 27. 07:38
반응형

jQuery 지연이 작동하지 않음


$('.transparent').removeClass('transparent').delay(2000).addClass('not_transparent').delay(4000)

반투명 한 div가 있고 투명하지 않게 전환하고 싶습니다. 그러나 jQuery .delay (); 방법이 여기서 작동하지 않는 것 같습니다. 나는 .fadeIn (); 대신 지연으로 작동하지만 변경되는 클래스에서는 작동하지 않습니다.


.delay()queue애니메이션과 같이의 일부인 항목에 사용됩니다 . 단순 addClass은 대기하지 않습니다.

사용할 수 있습니다 setTimeout.

var trans = $('.transparent').removeClass('transparent');
setTimeout(function() {
    trans.addClass('not_transparent');
}, 2000);

대안으로를 사용하여 대기열에없는 항목을 대기열에 추가 할 수 .queue()있지만, a setTimeout가 더 낫다고 생각합니다 .

$('.transparent').removeClass('transparent').delay(2000).queue(function(nxt) {
      $(this).addClass('not_transparent');
      nxt();
});

나는 이것이 오래된 질문이라는 것을 알고 있지만 여전히 Google에서 많은 트래픽이 여기에 있으므로 2 센트를 더할 것입니다.

다음과 같이 사용할 수 있습니다.

$('.transparent').fadeIn().delay(500).queue(function(){
  $('.transparent').addClass('yourclass');
});

지연 후 실행하기 위해 함수를 대기열에 전달할 수 있습니다. 매우 유사한 예를 위해 이것을 직접 사용했습니다.


.delay().addClass()함수 외부의 태그 에서는 작동하지 않으므로 다음을 사용하십시오.

delay();
function delay(){
     $('.pgtitle').delay(5000).fadeIn(0).addClass('animated bounceInDown');
}

참고 URL : https://stackoverflow.com/questions/4544126/jquery-delay-not-working

반응형