制作多级菜单hide()与show() toggle()

时间:2022-04-15 04:48:22

<!DOCTYPE html>

<html>
<head>
<meta charset="utf-8">
<title>用hide()和show()方法</title>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>

//制作多级菜单
/*$(function(){

$('li:has(ul)').click(function(e){
if(this==e.target){
if($(this).children().is(':hidden')){
//如果子项是隐藏的则显示
$(this).css('list-style-image','url(../images/fenleijian.jpg)')
.children().show();
}else{
//如果子项是显示的则隐藏
$(this).css('list-style-image','url(../images/fenleijia.jpg)')
.children().hide();
}
}
return false; //避免不必要的事件混绕
}).css('cursor','pointer').click(); //加载时触发单击事件

//对于没有子项的菜单,统一设置
$('li:not(:has(ul))').css({
'cursor':'default',
'list-style-image':'none'
});
});*/
//制作多级菜单end

//toggle()方法实现自动显隐变幻
$(function(){
$('li:has(ul)').click(function(e){
if(this==e.target){
$(this).children().toggle();
$(this).css('list-style-image',($(this).children().is(':hidden')?'url(../images/fenleijia.jpg)':'url(../images/fenleijian.jpg)'))
}
return false; //避免不必要的事件混绕
}).css('cursor','pointer').click(); //加载时触发单击事件

//对于没有子项的菜单,统一设置
$('li:not(:has(ul))').css({
'cursor':'default',
'list-style-image':'none'
});
});

</script>

</head>
<body>
<ul>
<li>第1章 Javascrip简介</li>
<li>第2章 Javascript</li>
<li>第3章 CSS基础
<ul>
<li>第3.1节 CSS的概念</li>
<li>第3.2节 使用CSS控制页面
<ul>
<li>3.2.1 行内样式</li>
<li>3.2.2 内嵌式</li>
</ul>
</li>
</ul>
</li>
<li>第4章 CSS进阶
<ul>
<li>第4.1节 div标记与span标记</li>
<li>第4.2节 div标记与span标记</li>
<li>第4.3节 div标记与span标记
<ul>
<li>4.3.1 float定位</li>
<li>4.3.2 position定位</li>
<li>4.3.3 z-index空间位置</li>
</ul>
</li>

</ul>
</li>
</ul>
</body>
</html>