对于此标记:
<div id="citate">Citate</div>
<div id="unu" hidden>Autori</div>
<div id="autori" hidden>
<ul>
<li>Ion Creanga</li>
<li>Ion Creanga</li>
<li>Ion Creanga</li>
<li>Ion Creanga</li>
</ul>
</div>
<div id="doi" hidden>Subiecte</div>
<div id="subiecte" hidden>
<ul>
<li>Creanga</li>
<li>Creanga</li>
<li>Creanga</li>
<li>Creanga</li>
</ul>
</div>
我有这段代码JS:
$(document).ready(function () {
$("div#citate").click(function () {
$("div#unu ").slideToggle();
});
});
$(document).ready(function () {
$("div#citate").click(function () {
$("div#doi ").slideToggle();
});
});
$(document).ready(function () {
$("div#unu").click(function () {
$("div#autori").slideToggle();
});
});
$(document).ready(function () {
$("div#doi").click(function () {
$("div#subiecte").slideToggle();
});
});
我希望当我第二次点击&#34; Citate&#34;它将toogleup来自toogledown的所有其他元素&#34; Autori&#34;和&#34; Subiecte&#34;如果有空的话。我试着这样做,我搜索了怎么做但却做不到。
我使用了slideToggle()
函数。
答案 0 :(得分:1)
这可以帮助您。
$("div#citate").click(function(){
if( $('div#autori, div#subiecte').is(':visible') ){
$("div#unu, div#doi,div#autori, div#subiecte").slideUp();
}
});
无需再次添加$(document).ready和agian
答案 1 :(得分:0)
Its Working
使用回调:See DEMO
答案 2 :(得分:0)
This is not a optimal solution因为它根本不能扩展,但它确实有效。如果您切换父级(#citate
)并且子菜单为visible
,请使用slideToggle
或slideUp
关闭它们。
$(document).ready(function(){
$("div#citate").click(function(){
$("div#unu").slideToggle();
$("div#doi").slideToggle();
if($("div#autori").is(":visible")) {
$("div#autori").slideToggle();
}
if($("div#subiecte").is(":visible")) {
$("div#subiecte").slideToggle();
}
});
$("div#unu").click(function(){
$("div#autori").slideToggle();
});
$("div#doi").click(function(){
$("div#subiecte").slideToggle();
});
});