Javascript jQuery折叠(使用cookies),默认打开而不是关闭?
我有一个jQuery代码片段,它基本上允许用户切换div,打开或关闭-他们的首选项保存在cookie中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",
(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();