如何连接cookie?

时间:2016-01-05 06:04:18

标签: javascript jquery

我正在尝试连接Cookie。 我有这个js。很难将检查表<ul>与插入cookie结合起来。

<script>
    jQuery(function($){
        var arrow = $('.multi-accordion li > a').next();
            if (arrow.length) {
            $(arrow).parent().append('<img src="v.svg" alt="">');
            }
    $('.multi-accordion li > a').on('click', function (event) {
        var value = $('.multi-accordion li > a').index(this);
            Mage.Cookies.set('nav-item', value);
        var $this = $(this), $next = $this.next();
            if ($next.length) {
            $next.slideToggle().parent().toggleClass('opened').siblings().children('ul').filter(':visible').slideToggle();
            event.preventDefault();
            }
        });
    });
</script>

Example 我有cms Magento的这个js函数。

Mage.Cookies.set('name', 'value'); // install cookie
Mage.Cookies.get('name'); // get cookie
Mage.Cookies.clear('name'); // remove cookie

2 个答案:

答案 0 :(得分:1)

无需包含cookie.js。 您可以在会话存储中保存导航项索引。 访问以下链接以进行会话存储。 https://developer.mozilla.org/en/docs/Web/API/Window/sessionStorage

jQuery(function ($) {
    // CHECK IF nav-item IS STORED IN SESSION STORAGE
    if (sessionStorage.getItem("nav-item"))
    {
        $('#nav > li > a:eq(' + sessionStorage.getItem("nav-item") + ')').next().show();
    }
    $('#nav > li > a').click(function () {
        var intNavIndex = $(this).index(this);
        // SAVE NAV INDEX TO SESSION STROAGE
        sessionStorage.setItem("nav-item", intNavIndex);
        $('#nav li ul').slideUp();
        if ($(this).next().is(":visible")) {
            $(this).next().slideUp();
        } else {
            $(this).next().slideToggle();
        }
        $('#nav li a').removeClass('active');
        $(this).addClass('active');
    });
});

答案 1 :(得分:1)

你不需要连接cookie.js Magento已经有了一个用于处理cookie的js方法。

例如

Mage.Cookies.set('name', 'value'); Mage.Cookies.get('name'); Mage.Cookies.clear('name');

你也可以使用this js lib(不带jQuery)