2014-12-02 6 views
1

웹 개발이 매우 새롭습니다. 어쨌든 div에 click 이벤트를 만들고 배경색을 변경하려고합니다. 그러나 배경을 클릭 한 후 원래 색으로 되돌리려합니다. 여기에 내가 무엇을 가지고 :jQuery : div 표시자를 클릭하십시오.

jQuery를 :

$('.details1').click(function() { 
    $(this).toggleClass('on').delay(200).toggleClass('on'); 
}); 

CSS :

div.on { 
    background: #F78181; 
} 

내가 정확히 밀리 초 지연을 원하지 않는, 그건 그냥 디버깅입니다. 클릭만으로 백그라운드를 변경하고 싶습니다. 감사.

+1

JQUERY 지연 애니메이션 등 큐의 일부 항목에 사용되는 200 밀리

체크한다. toggleClass는 대기열에있는 이벤트가 아닙니다. 나는 보통 setTimeout (function(), 200)을 사용한다. – silversunhunter

+0

사실, 지금 당장 시도했는데 어떤 이유인지'setTimeout()'에 정의되지 않은 함수 오류가 발생했습니다 – Grux

+0

http://stackoverflow.com/questions/4544126/jquery-delay-not-working – silversunhunter

답변

2

당신은 당신이 당신의 필요에 따라 시간 (밀리 초)을 변경할 수 있습니다

$('.details1').click(function(){ 
     setTimeout(function(){ $('#clrd').toggleClass('on'); }, 200); 
    }); 

지연() 대신 문제에 대한 setTimeout() 기능을 사용해야합니다. 이 경우에는이 Fiddle

관련 문제