用jquery實現(xiàn)下拉菜單效果的代碼
更新時間:2010年07月25日 21:29:47 作者:
一個用jQuery實現(xiàn)的下拉菜單,非常的簡單,學(xué)習(xí)jquery 的朋友可以參考下。
效果如下:

這是菜單的內(nèi)容,用ul標(biāo)簽實現(xiàn)菜單:
<div id="menu">
<ul>
<li><a href="">菜單一</a>
<ul>
<li><a href="">子菜單1</a></li>
<li><a href="">子菜單2</a>
<ul><li><a href="">子菜單7</a></li></ul>
</li>
<li><a href="">子菜單3</a></li>
</ul>
</li>
<li><a href="">菜單二</a>
<ul>
<li><a href="">子菜單4</a></li>
<li><a href="">子菜單5</a></li>
<li><a href="">子菜單6</a></li>
</ul>
</li>
</ul>
</div>
這是CSS控制代碼:
ul,ol,li{list-style:none;padding:0px;margin:0px;}
#menu *{line-height:30px;}
#menu a{
text-decoration:none;
display:block;
}
#menu ul{
text-align:left;
background:#333;
}
#menu .arrow{ /* 菜單項的右側(cè)小箭頭 */
float:right;
padding-right:5px;
}
#menu>ul{height:30px;} /* 即使沒有菜單項也能保持頂級菜單欄的高度。 */
/* 一級菜單 */
#menu>ul>li{
text-align:center;
display:inline-block;
width:80px;
}
#menu>ul>li>a{color:#fff;}
#menu>ul>li:hover{background:#666;}
/* 下拉的菜單欄 */
#menu>ul>li ul{
display:none;
width:150px;
position:absolute;
background:#c1cd94;
box-shadow:2px 2px 2px #000;
-webkit-box-shadow:2px 2px 2px #000;
-moz-box-shadow:2px 2px 2px #123;
}
/* 下拉菜單的菜單項 */
#menu>ul>li>ul li{padding-left:5px; position:relative;}
#menu>ul>li>ul li>a{color:#000;}
#menu>ul>li>ul li:hover{background:#d3dbb3;}
/* 三級及以下的菜單項的定位 */
#menu>ul>li>ul>li ul{left:150px; top:0px;}
[html]
這是JS的控制代碼:
[code]
$(document).ready(function()
{
/* 菜單初始化 */
$('#menu>ul>li>ul').find('li:has(ul:not(:empty))>a').append("<span class='arrow'>></span>"); // 為有子菜單的菜單項添加'>'符號
$("#menu>ul>li").bind('mouseover',function() // 頂級菜單項的鼠標(biāo)移入操作
{
$(this).children('ul').slideDown('fast');
}).bind('mouseleave',function() // 頂級菜單項的鼠標(biāo)移出操作
{
$(this).children('ul').slideUp('fast');
});
$('#menu>ul>li>ul li').bind('mouseover',function() // 子菜單的鼠標(biāo)移入操作
{
$(this).children('ul').slideDown('fast');
}).bind('mouseleave',function() // 子菜單的鼠標(biāo)移出操作
{
$(this).children('ul').slideUp('fast');
});
});
出處:http://www.caixw.com/archives/drop-down-menu-with-jquery.html

這是菜單的內(nèi)容,用ul標(biāo)簽實現(xiàn)菜單:
復(fù)制代碼 代碼如下:
<div id="menu">
<ul>
<li><a href="">菜單一</a>
<ul>
<li><a href="">子菜單1</a></li>
<li><a href="">子菜單2</a>
<ul><li><a href="">子菜單7</a></li></ul>
</li>
<li><a href="">子菜單3</a></li>
</ul>
</li>
<li><a href="">菜單二</a>
<ul>
<li><a href="">子菜單4</a></li>
<li><a href="">子菜單5</a></li>
<li><a href="">子菜單6</a></li>
</ul>
</li>
</ul>
</div>
這是CSS控制代碼:
復(fù)制代碼 代碼如下:
ul,ol,li{list-style:none;padding:0px;margin:0px;}
#menu *{line-height:30px;}
#menu a{
text-decoration:none;
display:block;
}
#menu ul{
text-align:left;
background:#333;
}
#menu .arrow{ /* 菜單項的右側(cè)小箭頭 */
float:right;
padding-right:5px;
}
#menu>ul{height:30px;} /* 即使沒有菜單項也能保持頂級菜單欄的高度。 */
/* 一級菜單 */
#menu>ul>li{
text-align:center;
display:inline-block;
width:80px;
}
#menu>ul>li>a{color:#fff;}
#menu>ul>li:hover{background:#666;}
/* 下拉的菜單欄 */
#menu>ul>li ul{
display:none;
width:150px;
position:absolute;
background:#c1cd94;
box-shadow:2px 2px 2px #000;
-webkit-box-shadow:2px 2px 2px #000;
-moz-box-shadow:2px 2px 2px #123;
}
/* 下拉菜單的菜單項 */
#menu>ul>li>ul li{padding-left:5px; position:relative;}
#menu>ul>li>ul li>a{color:#000;}
#menu>ul>li>ul li:hover{background:#d3dbb3;}
/* 三級及以下的菜單項的定位 */
#menu>ul>li>ul>li ul{left:150px; top:0px;}
[html]
這是JS的控制代碼:
[code]
$(document).ready(function()
{
/* 菜單初始化 */
$('#menu>ul>li>ul').find('li:has(ul:not(:empty))>a').append("<span class='arrow'>></span>"); // 為有子菜單的菜單項添加'>'符號
$("#menu>ul>li").bind('mouseover',function() // 頂級菜單項的鼠標(biāo)移入操作
{
$(this).children('ul').slideDown('fast');
}).bind('mouseleave',function() // 頂級菜單項的鼠標(biāo)移出操作
{
$(this).children('ul').slideUp('fast');
});
$('#menu>ul>li>ul li').bind('mouseover',function() // 子菜單的鼠標(biāo)移入操作
{
$(this).children('ul').slideDown('fast');
}).bind('mouseleave',function() // 子菜單的鼠標(biāo)移出操作
{
$(this).children('ul').slideUp('fast');
});
});
出處:http://www.caixw.com/archives/drop-down-menu-with-jquery.html
相關(guān)文章
jquery實現(xiàn)table鼠標(biāo)經(jīng)過變色代碼
table鼠標(biāo)經(jīng)過變色的效果想必大家都有見到過吧,其實實現(xiàn)很簡單,在本文有個不錯的示例,感興趣的朋友可以學(xué)習(xí)下2013-09-09JQuery入門——事件切換之toggle()方法應(yīng)用介紹
在toggle()方法中,可以依次調(diào)用N個指定的函數(shù),直到最后一個函數(shù),然后重復(fù)對這個函數(shù)輪番調(diào)用,在函數(shù)之間切換調(diào)用的時候相當(dāng)?shù)姆奖?接下來將會詳細(xì)介紹toggle()方法的使用,感興趣的你可不要錯過了啊2013-02-02基于jQuery架構(gòu)javascript基礎(chǔ)體系
jQuery畢竟還只是一個基礎(chǔ)的最底層的工具集,封裝元素選擇器,事件等等,基本上能滿足一般的需求,但要從整體的WEB的周度來看,為了提高javascript開發(fā)的效率與可重用性,就需要有一個整體的布局2011-01-01JQuery學(xué)習(xí)筆記 nt-child的使用
在使用JQuery的時候如果你想尋找某個容器(諸如div或者是table中的某些子元素),那么很容易就使用find方法。2011-01-01