2011-04-13 4 views
2

나는이 간단한 코드를 사용하여 키를 누르면 div에서 페이드 인합니다. 두 번 누르면 두 번 사라집니다. 단순한 한두 줄으로 이것을 막을 수 있습니까? fadein이 다시 또는 무엇인가 퇴색하지 않는 것처럼? 많이방법 : fadeIn이 다시 페이드되지 않는 경우 (jQuery)

jQuery(document).bind('keydown', 's',function (evt){ 
    $("#div1").fadeIn(); 
    return false; 
}); 

감사 :

코드처럼 보인다.

답변

0

이 시도 :

var isFading = false 
jQuery(document).bind('keydown', 's',function (evt){ 
    if(!isFading){ 
    isFading = true; 
    $("#div1").fadeIn(400,function(){ isFading = false; }); 
    return false; 
    } 
}); 
+0

여전히 당신은 내가 볼 수 어딘가에 코드가이 있습니까 – jQuerybeast

+0

새로 고쳐? 나는 HTML을 의미합니까? – ysrb

+0

고마워요 친구 ... 문제가 건배 찾았습니다 – jQuerybeast

1

당신이 무슨 뜻인지 아니 확인합니다. 코드가 작동합니다. div가 기본적으로 숨겨져 있다고 가정하면, 키를 누르면 div fades가됩니다. 키를 다시 누르면 이미 페이지가 새로 고쳐지지 않는 한 다시 표시되기 때문에 다시 페이드 인하지 않습니다.

체크 http://jsfiddle.net/F8s8X/을 확인하십시오.

+0

음 ... 내 코드는 1429 줄의 코드를 가지고 있습니다 ... 어딘가에 다른 문제가 있습니다 – jQuerybeast

+0

예,이 코드로 인해 문제가 발생하지 않았습니다. – Hussein

+0

고마워요. – jQuerybeast

0

$.bind() 대신 $.one()을 사용하십시오. 이렇게하면 처리기가 이벤트에 바인딩되고 처음 실행 한 후에 자동으로 바인딩 해제됩니다.
http://api.jquery.com/one/

jQuery(document).one('keydown', 's',function (evt){ 
    $("#div1").fadeIn(); 
    return false; 
}); 
관련 문제