Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery折叠(使用cookies),默认打开而不是关闭?_Javascript_Jquery_Html_Cookies_Collapse - Fatal编程技术网

Javascript jQuery折叠(使用cookies),默认打开而不是关闭?

Javascript jQuery折叠(使用cookies),默认打开而不是关闭?,javascript,jquery,html,cookies,collapse,Javascript,Jquery,Html,Cookies,Collapse,我有一个jQuery代码片段,它基本上允许用户切换div,打开或关闭-他们的首选项保存在cookie中 (function($) { $.fn.extend({ collapse: function(options) { var defaults = { inactive : "inactive", active : "active", head : ".trigger",

我有一个jQuery代码片段,它基本上允许用户切换div,打开或关闭-他们的首选项保存在cookie中

 (function($) {
$.fn.extend({
    collapse: function(options) {

        var defaults = {
            inactive : "inactive",
            active : "active",
            head : ".trigger",
            group : ".wrap-me-up",
            speed : 300,
            cookie : "collapse"
        };

        // Set a cookie counter so we dont get name collisions
        var op = $.extend(defaults, options);
            cookie_counter = 0;

        return this.each(function() {

            // Increment cookie name counter
            cookie_counter++;

            var obj = $(this),
                sections = obj.find(op.head).addClass(op.inactive),
                panel = obj.find(op.group).hide(),
                l = sections.length,
                cookie = op.cookie + "_" + cookie_counter;

            // Look for existing cookies
            for (c=0;c<=l;c++) {
                var cvalue = $.cookie(cookie + c);
                if ( cvalue == 'open' + c ) {
                    panel.eq(c).show();
                    panel.eq(c).prev().removeClass(op.inactive).addClass(op.active);
                };
            };
            sections.click(function(e) {
                e.preventDefault();
                var num = sections.index(this);
                var cookieName = cookie + num;
                var ul = $(this).next(op.group);
                // If item is open, slide up
                if($(this).hasClass(op.active)) {
                    ul.slideUp(op.speed);
                    $(this).removeClass(op.active).addClass(op.inactive);
                    $.cookie(cookieName, null, { path: '/', expires: 10 });
                    return
                }
                // Else slide down
                ul.slideDown(op.speed);
                $(this).addClass(op.active).removeClass(op.inactive);
                var cookieValue = 'open' + num;
                $.cookie(cookieName, cookieValue, { path: '/', expires: 10 });
            });
        });
    }
});
(函数($){
$.fn.extend({
折叠:功能(选项){
var默认值={
不活动:“不活动”,
活动:“活动”,
标题:“.trigger”,
小组:“.把我包起来”,
速度:300,,
曲奇:“崩溃”
};
//设置一个cookie计数器,这样我们就不会发生名称冲突
var op=$.extend(默认值、选项);
cookie_计数器=0;
返回此值。每个(函数(){
//增量cookie名称计数器
cookie_计数器++;
var obj=$(此),
节=对象查找(op.head).添加类(op.inactive),
panel=obj.find(op.group.hide(),
l=截面长度,
cookie=op.cookie+“\u”+cookie\u计数器;
//查找现有的cookie

对于(c=0;c我认为,如果您只是简单地交换show()和hide()函数,它应该可以工作

第25行:

 panel = obj.find(op.group).hide(),

第33行

 panel.eq(c).show();

然后我再次认为,如果您只想隐藏/显示一个元素,那么您使用的代码太复杂了

 panel.eq(c).show();
 panel.eq(c).hide();