【发布时间】:2010-05-06 01:57:12
【问题描述】:
我有一个来自this 站点的 jQuery 手风琴,并为我的目的进行了编辑,但手风琴仅适用于 Firefox(不是 Safari 或 Chrome),并且 cookie 设置不正确。
这是 jQuery:
function initMenus() {
$('#sidebar .letter_index').hide();
$.each($('#sidebar .letter_index'), function() {
var cookie = $.cookie(this.id);
if (cookie === null || String(cookie).length < 1) {
$('#sidebar .letter_index:first').show();
} else {
$('#' + this.id + ' .' + cookie).next().show();
}
});
$('#sidebar .letter_head').click(function() {
var checkElement = $(this).next();
var parent = this.parentNode.parentNode.id;
if ((checkElement.is('.letter_index')) && (!checkElement.is(':visible'))) {
$('#' + parent + ' .letter_index:visible').slideUp('normal');
if ((String(parent).length > 0) && (String(this.className).length > 0)) {
// not working
$.cookie(parent, this.className);
}
checkElement.slideDown('normal');
return false;
}
}
);
}
$(document).ready(function() {initMenus();});
这是我的 HTML 的外观(示例项目):
<div id="sidebar">
<h2 class="letter_head"><a href="#" class="ABC">ABC</h2>
<ul class="letter_index">
<li>Abc</li>
<li>Bcd</li>
</ul>
</div>
我找不到脚本无法在 Safari 和 Chrome 中运行的问题。
我也不知道如何告诉它使用h2 中的a 的类作为cookie 值。 (当前 cookie 设置为 $.cookie(parent, this.className);,它生成名称为 container(#sidebar 上方的 div)和值 letter_head 的 cookie。它需要类似于 'sidebar' 和 'ABC'、'DEF '等等。
提前致谢!
【问题讨论】:
标签: jquery cookies jquery-ui-accordion