【问题标题】:save class state of multiple divs in cookie在 cookie 中保存多个 div 的类状态
【发布时间】:2011-12-30 08:03:58
【问题描述】:

我有这个 toggleClass 功能:

$(document).ready(function() {  
    $("button#playersize").click(function(){
        $("#wrapper").toggleClass("small large");
        $(".divone").toggleClass("small large");
        $(".divtwo").toggleClass("small large");
    });
});

这会在“小”和“大”点击按钮之间更改 div 的类。

我想将 div 的类(#wrapper、.divone、.divtwo)保存到 cookie 中。 并且在重新加载时,该类应该是保存的。

我该如何管理?

我已经嵌入了 jquery cookie 插件。 我的代码可能有点多余,抱歉。

【问题讨论】:

    标签: jquery cookies toggle toggleclass


    【解决方案1】:

    您可以尝试以下方法:

    $(document).ready(function() {
        // replace the classes from the cookies
        // example if you want to check the cookie first
        if ($.cookie('class_wrapper').length > 0) {
            $("#wrapper").attr('class', $.cookie('class_wrapper'));
        } else {
            $("#wrapper").attr('class', 'small');
        }
        $(".divone").attr('class', $.cookie('class_divone'));
        $(".divtwo").attr('class', $.cookie('class_divtwo'));
        // bind the click event 
        $("button#playersize").click(function(){
            $("#wrapper").toggleClass("small large");
            $(".divone").toggleClass("small large");
            $(".divtwo").toggleClass("small large");
            // replace the cookie values
            $.cookie('class_wrapper', $("#wrapper").attr('class'));
            $.cookie('class_divone', $(".divone").attr('class'));
            $.cookie('class_divtwo', $(".divtwo").attr('class'));  
        });
    });
    

    警告:尚未测试

    【讨论】:

    • 非常感谢!如果 div 默认需要“小”类,而 cookie 中没有保存任何内容,该怎么办?类只能小或大。
    • 我已经编辑了我的答案,以展示一个您可以适应其他情况的示例。然而,您可能应该在 HTML 生成(PHP、ASP 或其他)中定义默认行为
    • 看起来不错,但是给我报错:“Uncaught ReferenceError: len is not defined”你知道问题出在哪里吗?
    • 对不起,我混淆了语言,你必须使用.length。我编辑了我的代码
    • 谢谢你到目前为止,似乎在 chrome 和 firefox 中工作,但在 safari 和 IE 中看起来与其他 jQuery 东西有冲突。例如,我的 jquery-ui 可排序不再起作用。有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 2013-08-16
    • 2016-02-03
    • 1970-01-01
    • 1970-01-01
    • 2020-10-07
    • 2021-06-13
    • 2011-10-26
    • 2017-05-27
    相关资源
    最近更新 更多