slideToggle打开页面上的所有链接?

时间:2014-10-16 15:23:10

标签: javascript menu toggle

我是Javascript的新手,我的切换菜单出现了一些问题:

1)我将子链接设置为display:none;,但无论如何它们仍在显示。我需要它们隐藏在页面加载上。

2)单击其中一个主链接时,它会切换两个主链接,而不是仅切换单个链接。我需要添加什么才能打开所点击的链接?

http://jsfiddle.net/musiclvr86/5otvoxho/

2 个答案:

答案 0 :(得分:0)

当你这样称呼时:

 $('.sub').slideToggle('fast');

您定位的是具有.sub类的每个元素,因此所有元素都会切换。要修复它,您必须使用this对选定的元素进行相对于单击的元素。因为你的结构是兄弟姐妹,而不是父母/孩子,你可以使用Jquery的.nextUntil()方法:

Updated Fiddle

$(this).nextUntil(".main").slideToggle('fast');

这将选择每个后续兄弟姐妹,直到找到另一个.main

答案 1 :(得分:0)

有点黑客

$(document).ready(function(){
    $('.sub').slideToggle(0);
$('.main').click(function(){
    $(this).nextUntil(".main").slideToggle('fast');
});
});

并从css中删除该行

.dark-link.sub {display:none;  }

http://jsfiddle.net/5otvoxho/4/