在此播放:http://jsbin.com/ocicu4/4/edit
简单的手风琴,我只希望一次打开一个部分。
我认为if语句可行,但事实并非如此。
// Clicks on h3 show .sectionContent
$('h3.sectionHeading').click(function() {
if ($('h3.sectionHeading').next().is('.open')) {
// Do nothing
} else {
// Find the exsisting div.open remove class and close it
$('div.open').removeClass('open').animate(
{'height':'toggle'}, 'fast', 'linear'
);
// Make div next to h3 open and add class
$(this).next().addClass('open').animate(
{'height':'toggle'}, 'slow', 'linear'
);
}
});
帮助赞赏:)
答案 0 :(得分:2)
我可能不明白你想要做什么,但改变了界限:
if ($('h3.sectionHeading').next().is('.open')) { // etc
要:
if ($(this).next().is('.open')) { // etc
将触发第一个if语句。当您使用选择器h3.sectionHeading
时,next()对象将始终相同。我假设你想要当前选择后的下一个元素?
工作示例here。