윈도우가로드 될 때 드롭 다운 메뉴로 바꾸고 싶거나 800 픽셀 이하로 크기를 조정할 수있는 수퍼 에프 지원 가로 메뉴가 있습니다. 창 크기를 800 픽셀 이상으로 조정하면이 드롭 다운을 수평 목록으로 되돌리려합니다.수평 수퍼 피시 메뉴를 작은 화면에서 드롭 다운으로 바꿈
수평 메뉴는 다음과 같습니다, PHP를 통해 출력 (여기 간체) :
$("#menu-primary").wrap("<ul id='menu-dropdown' class='sf-menu sf-vertical'><li id='li_drop' class='menu-item'></li></ul>");
$("#menu-primary").before("<span id='nav-dropdown' class='sf-with-ul'>MENU</span>");
그리고 랩퍼에 superfish 전화 :
<ul id="menu-primary">
<li id="menu-item-683">...</li>
<li id="menu-item-10">
<a class="sf-with-ul" href="about-us">About Us</a>
<ul class="sub-menu"> </ul>
</li>
...
</ul>
그래서 나는이 같은 메뉴를 포장하려 더 작은 창 크기를 지정하고 다음과 같이 큰 창 크기의 래퍼에서 superfish 클래스를 제거하면됩니다.
function menudrop(){
if ($(window).innerWidth() < 800) {
$("#menu-dropdown").addClass("menu menu-dropdown superfish sf-js-enabled");
$('#menu-dropdown').superfish({delay:100,animation:{height:'show'},dropShadows: false, speed: 1});
}
else {
$("#menu-dropdown").removeClass("menu menu-dropdown superfish sf-js-enabled");
}
}
대부분 작동하지만, < 800 픽셀에 페이지를로드하고> 800으로 크기를 조정하면 #menu-primary
이 표시되지 않습니다. 래퍼를 추가하지 않은 것처럼 CSS를 똑같이 만들려고했으나 작동하지 않습니다. 어쨌든 $('#menu-dropdown').superfish();
을 실행 취소해야 할 필요가있는 것처럼 보이지만 그 방법을 모릅니다.
가능하거나 메뉴를 <select><option>...
메뉴로 변환하지 않고도이 아이디어를 달성 할 수있는 더 좋은 방법이 있습니까?