我试图找到我想要做的解决方案,但没有完全匹配。最近我发现了一个标签手风琴。准确地说,我有一个包含链接的水平菜单,当点击链接时,会在链接行下方显示具有良好下滑动画的额外内容,并在单击相同链接时向上滑动(剩余页面内容在隐藏的内容被揭示,这是我想要的)。幻灯片放映/隐藏链接上的内容点击
问题是,当其他链接被点击时,它们也会显示额外的内容,但前一次点击的内容仍然可见。我希望较早的内容在新内容向下滑动之前滑动。这是可能的,如果是这样,我该如何去完成它?
这里是我的代码:
$(document).ready(function() {
// hides the menu as soon as the DOM is ready
$('#about').hide();
$('#search').hide();
$('#pages').hide();
$('#links').hide();
// toggles the menu on clicking the noted link
$('#toggleabout').click(function() {
$('#about').slideToggle(400);
return false;
});
$('#togglesearch').click(function() {
$('#search').slideToggle(400);
return false;
});
$('#togglepages').click(function() {
$('#pages').slideToggle(400);
return false;
});
$('#togglelinks').click(function() {
$('#links').slideToggle(400);
return false;
});
});
我已经发布我目前使用的代码。我尝试了你的方法,但它似乎只会在已经隐藏的内容上滑动,它忽略了对slideDown的调用。也许我做错了什么? –
忽略我刚才所说的,会发生什么,它会卡在slideUp/slideDown'循环中,不知道如何解释它。 –
@Sovereign Anarchei,根据你的代码来看看这个jsfiddle:http://jsfiddle.net/Lcx88/。我为每个可以隐藏的元素添加了一个类,并且当我单击另一个元素时隐藏(滑动)了它们,然后我调用了slideToggle()(真的,您可以在此处调用slideDown) – Godwin