2009-06-12 8 views
1

캘린더 컨트롤에서 하루를 마우스로 가리키면 툴팁을 표시하려고합니다.jQuery fadeIn fadeOut (또는 표시/숨기기) 문제

나는 mouseenter/mouseleave 이벤트를 각각 fadeIn/fadeOut에 사용하고 있습니다. 이 작동합니다.

그러나 문제는 일정이기 때문에 여러 날이 있고 일주일 내내 마우스를 움직이면 fadeIn/fadeOut (또는 표시/숨기기)이 모두 차례대로 일어납니다. 이벤트가 완료되었습니다 ... 일종의 지연이 모든 순서대로 발생하기 때문에 발생합니다.

이 문제를 방지하는 가장 좋은 방법은 무엇입니까?

답변

1

주중 부모 컨테이너가있는 경우 해당 항목에 영향을 줄 수 있습니다.

1

난 당신이 모든 주 동안 단지 이벤트를 처리하고

+0

나는이 아이디어가 마음에 들지만, 몇 주 동안 계속해서 움직이면 똑같을 것이다. –

0

가 이미 툴팁이 표시되고있다 여부를 확인하려면 몇 가지 로직을 추가 할 것입니다 선택, 그렇다면, 이동 된 일 발견하는 것이 좋습니다 텍스트를 업데이트하십시오.

어려운 부분은 텍스트가 변경되지 않은 경우에만 fadeOut이 발생하는지 확인하는 논리를 추가하는 것입니다. 가장 먼저 할 일은 setTimeout을 사용하여 페이딩 전에 작은 지연을 추가하는 것입니다. 둘째, 툴팁 텍스트가 업데이트 될 때마다 증가하는 변수를 생성하십시오. 마지막으로 setTimeout을 호출 할 때마다 정수 복사본이 포함되어 있는지 확인하고 페이드를 호출하기 전에 정수가 변경되지 않았는지 확인하십시오.

2

hoverIntent이라는 jQuery 플러그인을 확인하십시오. 문제가 해결 될 것입니다.

관련 문제