手风琴菜单中的活动状态

4

我在我的网页上使用了手风琴菜单,它是从这个网站提取的 http://www.designchemical.com/lab/jquery-vertical-accordion-menu-plugin/examples/。如果我点击主菜单,相应的子菜单会打开。如果我点击子菜单,它将重定向到链接的页面。但是在那个页面上,菜单没有处于打开状态。这是我的问题。我该如何修正?

我使用的内部脚本是:

<script type="text/javascript">
$(document).ready(function($){
    $('#accordion-3').dcAccordion({
        eventType: 'click',
        autoClose: false,
        saveState: false,
        disableLink: false,
        showCount: false,
        speed: 'slow'
    });
});
</script>
1个回答

0

将当前状态保存在 cookie 中

setCookie('state',$( "#accordion-3" ).accordion('option','active'));

在重定向后的另一页上

$('#accordion-3').dcAccordion({
        active:getCookie('state'), /****activating the current state***/
        eventType: 'click',
        autoClose: false,
        disableLink: false,
        showCount: false,
        speed: 'slow'
    });

/**cookie functionalities***/
function deleteCookie(name) {
        setCookie(name,"",-1);
    }
    function setCookie(name,value,days) {
        if (days) {
            var date = new Date();
            date.setTime(date.getTime()+(days*24*60*60*1000));
            var expires = "; expires="+date.toGMTString();
        }
        else expires = "";
        document.cookie = name+"="+value+expires+"; path=/";
    }
    function getCookie(name) {
        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for(var i=0;i < ca.length;i++) {
            var c = ca[i];
            while (c.charAt(0)==' ') c = c.substring(1,c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
        }
        return null;
    }

如果我使用这段代码,菜单将始终处于打开状态。我需要它仅在子菜单页面中处于打开状态。 - designersvsoft

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接