我使用以下JS制作了手风琴菜单
$(function(){
$('#accordion .fullChild>a.opener').text('+').addClass('box');
$('#accordion .opener').click(function() {
if($(this).text() == "-") {
$(this).text("+");
}
else {
$(this).text("-");
}
});
});
function initMenus() {
$('ul#accordion ul').hide();
$('ul#accordion li a.opener').click(
function() {
var checkElement = $(this).next();
var parent = this.parentNode.parentNode.id;
if($('#' + parent).hasClass('noaccordion')) {
$(this).next().slideToggle('normal');
return false;
}
if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
if($('#' + parent).hasClass('collapsible')) {
$('#' + parent + ' ul:visible').slideUp('normal');
}
return false;
}
if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
$('#' + parent + ' ul:visible').slideUp('normal');
checkElement.slideDown('normal');
return false;
}
}
);
}
$(document).ready(function() {initMenus();});
这一切都像我想要的那样,但有一件事。当你切换一个加上打开时,它会变为零,但除非你再次切换它,否则它将保持为负数
这是一个小提琴http://jsfiddle.net/ZpXrW/1/
html和css是裸的,我想知道我是如何编写错误的脚本以及如何使其更好 - 我假设有一种更简洁的方法来实现这一点。