여기에 코드입니다 :내 메소드가 두 번 실행되는 이유는 무엇입니까?
$('.single-category')
이 나는 HTML의 무리를 페이드 아웃 그냥이 아이 페이드 클릭
$(document).ready(function() {
$('.category').click(function(){
$("#category-menu").modal();
$("#category-menu").css({'display' : 'block'});
$('.single-category').click(function(){
$('.category-link').fadeOut('slow', 'linear', fadeInCategory($(this)));
/*the line above some how gets called again*/
});
});
$('.mp-back').click(function(){
$('.category-link').css('display', 'none');
var testing = $(this).closest('.mp-level');
testing.css('display', 'none'); /*after this line */
});
});
function fadeInCategory(category){
category.find('.mp-level').fadeIn('slow');
category.find('ul').fadeIn('slow');
}
function back2allCategories(){
$('.category-link').css('display', 'block');
}
. 다시 실행되고 내가 할 수있는 어떻게 든
$('.category-link').fadeOut('slow', 'linear', fadeInCategory($(this)));
: $('.mp-back').click(function(){
실행이 완료되면
mp-back
는, 내가 페이드 아웃 (또는 속성으로 display:none
설정)
그러나하고, 그래서 다시 이동이 줄을 생각한다 왜 그런지 알아 내지 못 하죠.
(Google 크롬 콘솔의 중단 점을 통해 발생하는 것으로 알고 있습니다.)
그러나 나는 그 이유를 알 수 없습니다.
왜 $('.category-link').fadeOut('slow', 'linear', fadeInCategory($(this)));
이 다시 호출 되나요?
당신은 다른 이벤트 핸들러 함수 내부에 이벤트 핸들러를 결합하는 함수를 호출하지 거의 안 뭔가입니다. '.category'를 클릭 할 때마다'.single-category'에 대한 추가 클릭 핸들러를 바인드하므로 여러 핸들러로 끝납니다. – Barmar
흠 .. 그게 말이 되네 ... 그게 문제가 아니면 그냥 좋은 연습인가? – brendosthoughts
그것이 문제입니다. –