여기에서 코드 http://www.designchemical.com/blog/index.php/jquery/jquery-simple-vertical-accordion-menu-with-cookies/을 사용하여 프로젝트에 맞도록 수정했으며 실제로 잘 작동합니다. 이제 나는 극복 할 수없는 두 가지 장애물이 있습니다.쿠키를 사용하여 아코디언으로 연결 상태를 기억하십시오.
1 : 쿠키가 내가 마지막으로 클릭 한 링크의 상태도 저장할 수 있습니까? CSS를 사용하여 다른 배경색을 적용 할 수 있도록 클래스를 제공하는 것처럼? 자식 uls 중 하나에서 링크를 클릭하면 한 번에 하나의 링크 만 활성화됩니다. 다시 클래스를 제거해야합니다.
2 : 아코디언 위에 로고를 클릭하여 페이지를 새로 고침하면 열어 둡니다. 내가 사이트를 처음 방문했을 때처럼 다시 붕괴되기를 바랍니다.
까다로운 내용. 나는 이것은 JS입니다
(could'nt는 jsfiddle에 작동하도록) 작업 데모 here 있습니다
$(document).ready(function() {
var checkCookie = $.cookie("nav-item");
if (checkCookie != "") {
$('#nav > li > a:eq('+checkCookie+')').addClass('active').next().show();
}
$('#nav > li > a').click(function(){
var navIndex = $('#nav > li > a').index(this);
$.cookie("nav-item", navIndex);
$('#nav li ul').slideUp();
if ($(this).next().is(":visible")){
$(this).next().slideUp();
} else {
$(this).next().slideToggle();
}
$('#nav li a').removeClass('active');
$(this).addClass('active');
});
});
덕분에 많은 사전에!
아 좋아, 이미 mein 메뉴의 링크 상태를 기억하지 못했습니다. 하지만 하위 메뉴에는 없습니다. 또한 하위 메뉴의 링크를 클릭하면 주 메뉴에서 클래스를 제거하고 하위 메뉴에 연결해야합니다.
JS에서 해당 행을 삭제하면 아코디언이 재설정됩니다. 그러나 그것은 또한 그것을 지키기위한 능력 인 느슨한 상태를 "기억"하게 만듭니다. – bogus