2011-11-22 5 views
10

Superfish 드롭 다운 수정의 초기 지연을 제거하는 데 문제가 있습니다. 내 고객은 지연 onmouseout을 원하지만 지연 onmouseover는 원하지 않습니다.Hashintent delay onmouseout를 유지하면서, Superfish 드롭 다운 메뉴 onmouseover의 지연을 제거하십시오.

나는 Twentyten 드롭 다운 메뉴와 동일한 순수한 CSS 드롭 다운 메뉴가 있으며 Suckerfish.js를 적용하고 있습니다.

여기 내 코드입니다 :

$('ul#menu-airco-mb-navigatiestructuur').superfish({ 
    delay: 600, 
    autoArrows: false, 
    speed: 'fast' 
}); 

내가 the manual of Superfish를 통해 읽어 봤는데,하지만 난 초기 지연을 유발 찾을 수없는 것. 어쩌면 애니메이션과 관련이 있습니다. (내 머리를 감당할 수없는 것 같습니다) animation: {opacity:'show'}.

도움을 주시면 감사하겠습니다.

답변

13

HoverIntent 플러그인이 포함 된 것으로 보입니다. Superfish의 옵션 중 하나는 "disableHI"입니다. "true"로 설정하면 Superfish는 HoverIntent를 사용하여 mouseenter 이벤트를 지연시키지 않습니다. 또는 HoverIntent 플러그인을 사이트의 다른 위치에서 사용할 계획이 없다면 포함시키지 않을 수도 있습니다. 희망이 도움이됩니다.

$('ul#menu-airco-mb-navigatiestructuur').superfish({ 
    delay: 600, 
    autoArrows: false, 
    speed: 'fast', 
    disableHI: true 
}); 

나는 두 가지 테스트 케이스를 만들었습니다. first one은 CSS를 사용하는 페이지의 단순화 된 버전이며 the second은 모든 CSS를 제거하고 Superfish 웹 사이트에있는 기본 superfish.css 만 포함한다는 점을 제외하고는 완전히 동일합니다. superfish.css가 작동하도록 'menu'에서 'sf-menu'로 메뉴 클래스를 변경했습니다.

내 CSS가있는 버전은 원하는대로 작동하지만 CSS가있는 버전은 사용자가 설명하는 버그가 있습니다. 내 문제를 해결할 수있는 CSS 문제가 있다고 생각합니다. 내가 보는 한가지 차이점은 하위 메뉴 UL을 고정 폭으로 설정하고 자녀 LI를 100 %로 설정한다는 것입니다. 이것은 범인이 아니지만, CSS를 수퍼 피쉬 메뉴를 수행하기 위해 시험하고 검증 된 방법과 더 밀접하게 연계하여 도움을 얻을 수 있음을 보여줍니다. 희망이 도움이됩니다.

+0

Hi Joel, 답변 해 주셔서 감사합니다.하지만 마우스 오버시 동작을 유지하고 싶습니다. 서브 메뉴를 표시하기 전에 마우스 오버를 제거하고 싶습니다. 나는 창녀의 창시자와 이야기를 나누었고, 그는 공중에 떠있는 상처를 제거하기 위해 수퍼 피쉬의 핵심을 시도하고 편집하라고 조언합니다. 이것에 대한 당신의 견해는 무엇입니까? 미리 감사드립니다. – maartenmachiels

+0

Superfish는 HoverIntent (포함 된 경우)가 mouseover 이벤트를 처리하도록두고 "지연"옵션을 통해 마우스 아웃 지연을 처리합니다.disableHI는 HoverIntent onmouseover를 제거하지만 "delay"를 600으로 설정하면 마우스 아웃 지연이 유지됩니다. –

+0

다시 한번 감사드립니다. 나는 당신의 지시에 따라 왔지만 분명히 성공하지 못했습니다. 제발 내 구현을 좀 봐 줄래 [link] http://mediasoft.chocolata.be에서 문제가 될 수 있는지 알아 보시겠습니까? – maartenmachiels

0

마우스 오버시 표시되는 내용은 지연이 아니라 실제 애니메이션 실행 중입니다.

애니메이션을 삭제할 수 있다고 가정합니다.

높이 만 움직이면 불투명도와 반대로 즉각적인 시각적 반응을 얻습니다.

시각적으로는 알 수 없지만 원하는 기능을하는 것이 현명합니다.

 $('ul#menu-airco-mb-navigatiestructuur').superfish({ 
      delay  : 0, 
      animation : { height:'show' }, 
      speed  : 'fast' 
     }); 
+0

안녕하세요 acreek, 감사합니다. 이제는 조금 더 명확 해졌지만 여전히 약간의 지연이있는 것 같습니다. 'delay : 0'으로 설정하면 지연 onmouseOUT이 제거되는 반면, onmouseOVER는 지연 만 제거됩니다. 여기 내가 무슨 말을하는지 볼 수 있습니다 : http://mediasoft.chocolata.be/ 손을주세요 줄래? – maartenmachiels