2012-11-09 4 views
2

전적으로 CSS 기반의 megamenu를 사용하고 있습니다. 단점은 애니메이션이 없다는 것입니다. 갑자기 드롭 다운이 모두 표시됩니다. 그래서 그것을 jquery 기반 토글로 변환 할 생각입니다. 다음은 현재 코드입니다. 어떻게 그것을 jQuery 기반으로 변환 할 수 있습니까?css only megamenu를 jquery 기반으로 변환하는 방법

.dropdown-1column, 
.dropdown-2columns, 
.dropdown-3columns, 
.dropdown-4columns, 
.dropdown-5columns { 
    margin:-1px auto 0 -285px; 
    float:left; 
    position:absolute; 
    text-align:left; 
    padding:10px 5px 10px 5px; 
    border:1px solid #dedede; 
    background:#fff; 
    z-index:999; 
    display:none;  
} 


.menu li:hover .dropdown-1column, 
.menu li:hover .dropdown-2columns, 
.menu li:hover .dropdown-3columns, 
.menu li:hover .dropdown-4columns, 
.menu li:hover .dropdown-5columns { 
    display:block; 
} 

여기에 코드를입니다 http://jsfiddle.net/gsTNS/

+0

애니메이션은 CSS3에 존재 :

은 그럼 slideToggle 기능을 활성화하기 위해 jQuery를 사용합니다. 애니메이션에 대해 정확히 무엇을 원하십니까? –

+0

HTML을 게시 할 수 있습니까? 기존 기능을 살펴보면 도움이 될 것입니다 – AJak

+0

드롭 다운이 애니메이션과 함께 표시되어야합니다. jquery가 아래로 슬라이드하는 것처럼. 나는 불투명도 0과 1 트릭으로 시도했다. 내 드롭 다운은 왼쪽으로 -285 픽셀을 사용하기 때문에 작동하지 않았습니다. – user632347

답변

2

이 꽤 많이 내 생각은 당신이 무엇을 찾고 있는지 않습니다. 아마 정제 될 수 있습니다 :

http://jsfiddle.net/gsTNS/5/

기본적으로 나는 "이 - 드롭 다운을"드롭 다운이있는 각 LI에 클래스를 추가했고 나는 각 드롭 다운 DIV에 "드롭 다운"클래스를 추가했습니다. 당신이 브라우저 호환성에 많은 제한을 모두없는 경우

jQuery("div#menu ul.menu li.has-dropdown").hover(
function() { 
    $(this).find("div.dropdown").slideToggle(); 
}, 
function() { 
    $(this).find("div.dropdown").slideToggle(); 
} 
); 
+0

stop() 어딘가에 분명히 필요합니다. – Huangism

+0

@Billy Moat : 감사합니다. 그것은 마술처럼 작동합니다. 자바 스크립트 브라우저가 아닌 다른 사용자도 사용할 수 있습니까? – user632347

+0

@Huangism : 어디에서 추가 할 것인가? – user632347