出于某种原因,这段代码运行 if 语句,然后运行 else 语句,就好像根本没有逻辑,我只是一个接一个地写出命令。真正奇怪的是它在 JS Fiddle 中运行得非常好,所以我什至无法真正重新创建问题。
$('.acc-trigger').click(function () {
if (!$(this).next().children('li.sideBarSubNav ul').is(":visible")) {
$('.subnavReveal').text('►');
$('li.sideBarSubNav ul').slideUp(300);
$(this).children('span').text('▼');
$(this).next().children('li.sideBarSubNav ul').slideDown(300);
} else {
$(this).children('span').text('►');
$(this).next().children('li.sideBarSubNav ul').slideUp(300);
}
});
工作代码的 JS Fiddle - http://jsfiddle.net/QNjR7/