Jquery 切换缓存/cookie

Jquery 切换缓存/cookie,jquery,cookies,toggle,Jquery,Cookies,Toggle,我正在使用jQuery切换函数进行导航。 默认情况下,“作者”切换可见,“存档”切换关闭 我的问题是,当用户切换到另一个页面时,开关会自行重置 例如,当用户关闭“作者”切换并打开“存档”切换,然后导航到另一个页面时,将加载默认设置 我读到可以通过cookies来存储设置,但我对jQuery绝对是新手,如果有人能帮我,那就太好了 HTML CSS ​ 当你重新加载页面时 var visibleAuthors = readCookie("authors"); var visibleArchives

我正在使用jQuery切换函数进行导航。 默认情况下,“作者”切换可见,“存档”切换关闭

我的问题是,当用户切换到另一个页面时,开关会自行重置

例如,当用户关闭“作者”切换并打开“存档”切换,然后导航到另一个页面时,将加载默认设置

我读到可以通过cookies来存储设置,但我对jQuery绝对是新手,如果有人能帮我,那就太好了

HTML

CSS

当你重新加载页面时

var visibleAuthors = readCookie("authors");
var visibleArchives = readCookie("archives")

加载页面时解析cookie的结果,然后显示您想要的div

非常感谢您提供的代码,但我不知道如何实现它,使其符合我的需要。你能告诉我它是如何切割的吗?答案可以吗?你成功地实现了吗?恐怕我还没有让它工作……如果你更新我的小提琴,我就会知道代码放在哪里,哪些部分可以/必须定制。我已在中添加了代码。它在那里不起作用,因为我认为他们不允许您在他们的域上使用cookie,但请尝试输入您的代码并告诉我它是否起作用。这不是最后的代码,但它应该给你一个大概的想法。我现在就去,因为现在是凌晨2:15。希望我的代码有帮助。请记住把我的详细回答记为“答案”,你真的很有帮助。请点击我答案下方的“复选标记:)
<div id="archives" class="widget">
<h2 class="widget-title">Archiv</h2>
<div class="toggle hidden">
    <div class="submenu">       
        <ul>
            <li>November 2012</li>
            <li>Oktober 2012</li>
        </ul>
    </div>
</div>
</div>​
function toggleWidgets() {
    jQuery('.widget-title').addClass('plus'); 

    jQuery('.widget-title-visible').addClass('minus'); 

    jQuery('.widget-title').click(function() {
        $(this).toggleClass('plus').toggleClass('minus').next().toggle(180);
    });

    jQuery('.widget-title-visible').click(function() {
        $(this).toggleClass('minus').toggleClass('plus').next().toggle(180);
    });
} 

jQuery(document).ready(function() {
    toggleWidgets();
} )​
.hidden{
    display:none;
}

.plus {
    background: url(http://moargh.de/daten/sidebar_arrows.png) 0 5px no-repeat;
    padding: 0 0 0 12px;
}
.minus {
    background: url(http://moargh.de/daten/sidebar_arrows.png) 0 -10px no-repeat;
    padding: 0 0 0 12px;
}
function createCookie(name, value, days) {
    var expires;
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toGMTString();
    }
    else expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}


function readCookie(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;
}

function eraseCookie(name) {
    createCookie(name, "", -1);
}
var divId = $(this).attr("id");
var visible = false;
if($(this).isVisible())
    visible = true;

createCookie(divId, visible, 1);
var visibleAuthors = readCookie("authors");
var visibleArchives = readCookie("archives")