js 高手帮我修改 再次点击导航 弹出菜单就隐藏
<scripttype="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jqu...
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
$(function(){$('#nav > dl').click(function(){ //hover是鼠标悬浮,click是鼠标点击。
$(this).addClass('current').siblings('dl').removeClass('current');
$('#nav > dl > dd > ul ').hide();
$(this).find('dd > ul').show();})
})
</script> 展开
<script type="text/javascript">
$(function(){$('#nav > dl').click(function(){ //hover是鼠标悬浮,click是鼠标点击。
$(this).addClass('current').siblings('dl').removeClass('current');
$('#nav > dl > dd > ul ').hide();
$(this).find('dd > ul').show();})
})
</script> 展开
2个回答
展开全部
你可以根据class来判断啊!如果当前被点击的dl有current,就隐藏该弹出菜单,代码如下:
<script type="text/javascript">
$(function(){
$('#nav > dl').click(function(){ //hover是鼠标悬浮,click是鼠标点击。
if($(this).hasClass('current')){
$(this).removeClass('current');
$('#nav > dl > dd > ul ').hide();
$(this).find('dd > ul').hide();
}else{
$(this).addClass('current').siblings('dl').removeClass('current');
$('#nav > dl > dd > ul ').hide();
$(this).find('dd > ul').show();
}
});
});
</script>
这里跟你说下,没写完一句JS语句是要加逗号的,代码规范化,是减少出错的前提!希望对你有所帮助!
展开全部
//默认给一个值,表示是第一次,还是第二次
var i=0;
$(function(){$('#nav > dl').click(function(){ //hover是鼠标悬浮,click是鼠标点击。
if(i==0){ //第一次点击,展开
$(this).addClass('current').siblings('dl').removeClass('current');
$('#nav > dl > dd > ul ').hide();
$(this).find('dd > ul').show();
i=1;
}else{ //第二次点击就隐藏,代码我没写,不知道你要隐藏哪一部分,你自己改一下就行
$(this).addClass('current').siblings('dl').removeClass('current');
$('#nav > dl > dd > ul ').hide();
$(this).find('dd > ul').show();
i=0;
}
})
var i=0;
$(function(){$('#nav > dl').click(function(){ //hover是鼠标悬浮,click是鼠标点击。
if(i==0){ //第一次点击,展开
$(this).addClass('current').siblings('dl').removeClass('current');
$('#nav > dl > dd > ul ').hide();
$(this).find('dd > ul').show();
i=1;
}else{ //第二次点击就隐藏,代码我没写,不知道你要隐藏哪一部分,你自己改一下就行
$(this).addClass('current').siblings('dl').removeClass('current');
$('#nav > dl > dd > ul ').hide();
$(this).find('dd > ul').show();
i=0;
}
})
追问
麻烦你在帮小弟改下 万分感谢!!!
我改了一下 还是不行啊
追答
$(function(){
$('#nav > dl').click(function(){ //hover是鼠标悬浮,click是鼠标点击。
if(!$(this).hasClass('current')){
$(this).addClass('current').siblings('dl').removeClass('current');
$('#nav > dl > dd > ul ').hide();
$(this).find('dd > ul').show();
$('#nav').find('li').show();
}else{
$(this).removeClass('current');
$(this).children(":last").children().hide();
$('#nav > dl > dd > ul ').hide();
$('#nav').find('li').show();}
}) })
你把这段代码复制粘贴到你那里面就可以用了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询