我想用jQuery做个纵向菜单 已经实现了滑动门效果 但是还有些小效果不清楚怎么实现
1:
当我单击 main_2的a标签时候 main_2下边的UL显示出来 但是我希望在单击它的时候 UL在收回去 该怎么实现。。
2单击首页的时候如何让 main_2的UL全部收缩<script>
$(function(){
$("ul:gt(0)").hide();
$(".main_2>a").click(function() {
$(this).parent().parent().find("ul").hide();
var ulNode=$(this).next("ul");
ulNode.slideToggle("slow");
});
});
</script><ul>
<li class="main_1">
<a href="####" id="menu_1"><img src="img/b_1_03.png" width="22" height="17" align="middle"/>首页</a>
</li>
<li class="main_2">
<a href="####"><img src="img/b_2_03.png" width="18" height="20" align="middle"/>人员管理</a>
<ul>
<li><a href="####">售点管理</a></li>
<li><a href="####">申请数据管理</a></li>
<li><a href="####">售点访问频率设置</a></li>
<li><a href="####">片区业务员设定</a></li>
<li><a href="####">导入售点信息</a></li>
</ul>
</li>
<li class="main_2">
<a href="####"><img src="img/b_3_03.png" width="22" height="18" align="middle"/>报表统计</a>
<ul>
<li><a href="####">售点管理</a></li>
<li><a href="####">申请数据管理</a></li>
<li><a href="####">售点访问频率设置</a></li>
</ul>
</li>
</ul>也就是 第一下点击 main_2下的a标签是显示 第二次点击时候是隐藏
点击main_1的首页时候是 main_2的全部隐藏
因为是新手 所以不太明白 谢谢大家解答了
1:
当我单击 main_2的a标签时候 main_2下边的UL显示出来 但是我希望在单击它的时候 UL在收回去 该怎么实现。。
2单击首页的时候如何让 main_2的UL全部收缩<script>
$(function(){
$("ul:gt(0)").hide();
$(".main_2>a").click(function() {
$(this).parent().parent().find("ul").hide();
var ulNode=$(this).next("ul");
ulNode.slideToggle("slow");
});
});
</script><ul>
<li class="main_1">
<a href="####" id="menu_1"><img src="img/b_1_03.png" width="22" height="17" align="middle"/>首页</a>
</li>
<li class="main_2">
<a href="####"><img src="img/b_2_03.png" width="18" height="20" align="middle"/>人员管理</a>
<ul>
<li><a href="####">售点管理</a></li>
<li><a href="####">申请数据管理</a></li>
<li><a href="####">售点访问频率设置</a></li>
<li><a href="####">片区业务员设定</a></li>
<li><a href="####">导入售点信息</a></li>
</ul>
</li>
<li class="main_2">
<a href="####"><img src="img/b_3_03.png" width="22" height="18" align="middle"/>报表统计</a>
<ul>
<li><a href="####">售点管理</a></li>
<li><a href="####">申请数据管理</a></li>
<li><a href="####">售点访问频率设置</a></li>
</ul>
</li>
</ul>也就是 第一下点击 main_2下的a标签是显示 第二次点击时候是隐藏
点击main_1的首页时候是 main_2的全部隐藏
因为是新手 所以不太明白 谢谢大家解答了
$(function(){
$("ul:gt(0)").hide();
$(".main_2>a").each(function(){
$(this).click(function() {
var ulNode=$(this).next("ul");
ulNode.slideToggle("slow");
});
});
$(".main_1>a").click(function(){
$(".main_2>ul").hide()
});
});
</script>
$(".main_2>a").click(function() {
var a=false;
/**
$(this).parent().parent().find("ul").hide();
ulNode.slideUp("slow");
ulNode.slideDown("slow");
*/
var ulNode=$(this).next("ul");
if(a==false)
{
ulNode.slideDown("slow");
$(this).css("background","url(../img/menu-fouce-down_03.jpg) no-repeat");
$("#menu_1").css("background","none");
a=true;
return a;
}
else{
alert("aaa");
ulNode.slideUp("slow");
$(this).css("background","url(../img/menu-fouce-down_03.jpg) no-repeat");
a=false;
alert(a);
}
});
ELSE 语句没法执行。。
$(".main_2").toggle(open_UL, close_UL);
function open_UL(){
alert("open")
$(this).find("ul").show();
}
function close_UL(){
alert("close")
$(this).find("ul").hide();
}楼主你试试
var a=false;
$(".main_2>a").click(function() {
/**
$(this).parent().parent().find("ul").hide();
ulNode.slideUp("slow");
ulNode.slideDown("slow");
*/
var ulNode=$(this).next("ul");
if(a==false)
{
ulNode.slideDown("slow");
$(this).css("background","url(../img/menu-fouce-down_03.jpg) no-repeat");
$("#menu_1").css("background","none");
a=true;
return a;
}
else{
alert("aaa");
ulNode.slideUp("slow");
$(this).css("background","url(../img/menu-fouce-down_03.jpg) no-repeat");
a=false;
alert(a);
}
});
refer to floor 8