jquery问题...ul列表有三层关系.显示每个层里的元素...其他自动隐藏...求高手...
2个回答
2012-08-08 · 知道合伙人互联网行家
关注
展开全部
不知道你说的三层关系究竟怎样,提供一个3个li的切换显示示例,主要函数:siblings()。自己加个jQ库。
<ul>
<li><div style="background-color:blue;width:300px;height:300px;display:block;border:1px solid #ABC"></div></li>
<li><div style="background-color:green;width:300px;height:300px;display:block;border:1px solid #ABC"></div></li>
<li><div style="background-color:red;width:300px;height:300px;display:block;border:1px solid #ABC"></div></li>
</ul>
<script type="text/javascript">
$(document).ready(function(){
$("li").click(function(){
$(this).show().siblings().hide();
setTimeout('$("li").eq(' + (i++%3) + ').click()',1000);
});
var i = 0;
$("li").hide();
setTimeout('$("li").eq(' + (i++%3) + ').click()',1000);
});
</script>
<ul>
<li><div style="background-color:blue;width:300px;height:300px;display:block;border:1px solid #ABC"></div></li>
<li><div style="background-color:green;width:300px;height:300px;display:block;border:1px solid #ABC"></div></li>
<li><div style="background-color:red;width:300px;height:300px;display:block;border:1px solid #ABC"></div></li>
</ul>
<script type="text/javascript">
$(document).ready(function(){
$("li").click(function(){
$(this).show().siblings().hide();
setTimeout('$("li").eq(' + (i++%3) + ').click()',1000);
});
var i = 0;
$("li").hide();
setTimeout('$("li").eq(' + (i++%3) + ').click()',1000);
});
</script>
更多追问追答
追问
追答
贴图片对应html上来。
展开全部
哪些隐藏?哪些显示?说得太含糊啦~
是ul里面有三个li?显示一个隐藏一个?
可以给个参考,核心代码:
$("ul li").hide();
$("ul li.selected").show();//selected是要显示的li的class
是ul里面有三个li?显示一个隐藏一个?
可以给个参考,核心代码:
$("ul li").hide();
$("ul li.selected").show();//selected是要显示的li的class
追问
追答
$("ul li").click(function(){
$( "li",$(this).siblings()).hide();
$("li",this).show();
})
这个实现的效果是点击li显示该li下的li,同时隐藏同级的所有li中的ul下的li,其实很简单的,把层次理清楚了就能写了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询