2013-07-01 8 views
1

사용자가 jQuery에서 스크롤하는 동안 mouseenter 함수가 발생하는 것을 막으려 고합니다. 그러나 제안 사항을 알 수는 없습니까?스크롤 할 때 mouseenter 함수를 방지합니다.

코드 : 다음과 같이

$(".li").mouseenter(function(){ 
$(this).children(".work_name").toggleClass("open", 400); 

$('.li').mouseleave(function(){ 
    $(this).children(".work_name").removeClass("open", 400); 
}); 

}); 

답변

0

당신은 그것을 구현할 수 :

window.isScrolling = false; 
$(window).scroll(function() { 
    window.isScrolling = true; 
    clearTimeout($.data(this, "scrollTimer")); 
    $.data(this, "scrollTimer", setTimeout(function() { 
     // If the window didn't scroll for 250ms 
     window.isScrolling = false; 
    }, 250)); 
}); 

다음과 같이 코드를 변경 : 완벽

$(".li").mouseenter(function(){ 

// Prevent executing when the user is scrolling 
if (window.isScrolling) return; 

$(this).children(".work_name").toggleClass("open", 400); 

$('.li').mouseleave(function(){ 
    $(this).children(".work_name").removeClass("open", 400); 
}); 

}); 
+0

작품은, 대단히 감사합니다! – RoseCoder