基于jQuery的簡單的列表導(dǎo)航菜單
更新時間:2011年03月02日 00:05:51 作者:
最近一段時間準(zhǔn)備開始學(xué)習(xí)JQUERY,感覺JQUERY的功能非常強(qiáng)大,而且代碼量也減少了許多....代碼也非常的清晰!
下面是我做的一個簡單的導(dǎo)航菜單,因為是新手,難免有什么不對的地方,希望大家拍磚!
好了 開始進(jìn)入正題吧:
1.首先定義CSS樣式表:
<style type="text/css">
body{font-size:13px}
ul,li{list-style-type:none;padding:0px;margin:0px}
.menu{width:190px;border:solid 1px #E5D1A1;background-color:#FFFDD2}
.optn{width:190px;line-height:28px;border-top:dashed 1px #ccc}
.content{padding-top:10px;clear:left}
a{text-decoration:none;color:#666;padding:10px}
.optnFocus{background-color:#fff;font-weight:bold}
div{padding:10px}
div img{float:left;padding-right:6px}
span{padding-top:3px;font-size:14px;font-weight:bold;float:left}
.tip{width:190px;border:solid 2px #ffa200;position:absolute;padding:10px;
background-color:#fff;display:none}
.tip li{line-height:23px;}
#sort{position:absolute;display:none}
</style>
2.引用JQUERY的框架,大家可以去官網(wǎng)上下載最新的JQUERY,好像JQUERY1.5的版本都發(fā)布了,鏈接地址:http://jquery.com/
3.定義HTML標(biāo)簽:
<ul>
<li class="menu">
<div>
<img alt="" src="Images/icon.gif" />
<span>電腦數(shù)碼類產(chǎn)品</span>
</div>
<ul class="content">
<li class="optn"><a href="#">筆記本</a></li>
<ul class="tip">
<li><a href="#">筆記本1</a></li>
<li><a href="#">筆記本2</a></li>
<li><a href="#">筆記本3</a></li>
<li><a href="#">筆記本4</a></li>
<li><a href="#">筆記本5</a></li>
</ul>
<li class="optn"><a href="#">移動硬盤</a></li>
<ul class="tip">
<li><a href="#">移動硬盤1</a></li>
<li><a href="#">移動硬盤2</a></li>
<li><a href="#">移動硬盤3</a></li>
<li><a href="#">移動硬盤4</a></li>
<li><a href="#">移動硬盤5</a></li>
</ul>
<li class="optn"><a href="#">電腦軟件</a></li>
<ul class="tip">
<li><a href="#">電腦軟件1</a></li>
<li><a href="#">電腦軟件2</a></li>
<li><a href="#">電腦軟件3</a></li>
<li><a href="#">電腦軟件4</a></li>
<li><a href="#">電腦軟件5</a></li>
</ul>
<li class="optn"><a href="#">數(shù)碼產(chǎn)品</a></li>
<ul class="tip">
<li><a href="#">數(shù)碼產(chǎn)品1</a></li>
<li><a href="#">數(shù)碼產(chǎn)品2</a></li>
<li><a href="#">數(shù)碼產(chǎn)品3</a></li>
<li><a href="#">數(shù)碼產(chǎn)品4</a></li>
<li><a href="#">數(shù)碼產(chǎn)品5</a></li>
</ul>
</ul>
<img id="sort" src="Images/sort.gif" alt=""/>
</li>
</ul>
4.接下來是定義最重要的JQUERY代碼了:
<script type="text/javascript">
$(function() {
var curY; //獲取所選項的Top值
var curH; //獲取所選項的Height值
var curW; //獲取所選項的Width值
var srtY; //設(shè)置提示箭頭的Top值
var srtX; //設(shè)置提示箭頭的Left值
var objL; //獲取當(dāng)前對象
/*
*設(shè)置當(dāng)前位置數(shù)值
*參數(shù)obj為當(dāng)前對象名稱
*/
function setInitValue(obj) {
curY = obj.offset().top
curH = obj.height();
curW = obj.width();
srtY = curY + (curH / 2) + "px"; //設(shè)置提示箭頭的Top值
srtX = curW - 5 + "px"; //設(shè)置提示箭頭的Left值
}
$(".optn").mouseover(function() {//設(shè)置當(dāng)前所選項的鼠標(biāo)滑過事件
objL = $(this); //獲取當(dāng)前對象
setInitValue(objL); //設(shè)置當(dāng)前位置
var allY = curY - curH + "px"; //設(shè)置提示框的Top值
objL.addClass("optnFocus"); //增加獲取焦點(diǎn)時的樣式
objL.next("ul").show().css({ "top": allY, "left": curW }) //顯示并設(shè)置提示框的坐標(biāo)
$("#sort").show().css({ "top": srtY, "left": srtX }); //顯示并設(shè)置提示箭頭的坐標(biāo)
})
.mouseout(function() {//設(shè)置當(dāng)前所選項的鼠標(biāo)移出事件
$(this).removeClass("optnFocus"); //刪除獲取焦點(diǎn)時的樣式
$(this).next("ul").hide(); //隱藏提示框
$("#sort").hide(); //隱藏提示箭頭
})
$(".tip").mousemove(function() {
$(this).show(); //顯示提示框
objL = $(this).prev("li"); //獲取當(dāng)前的上級li對象
setInitValue(objL); //設(shè)置當(dāng)前位置
objL.addClass("optnFocus"); //增加上級li對象獲取焦點(diǎn)時的樣式
$("#sort").show().css({ "top": srtY, "left": srtX }); //顯示并設(shè)置提示箭頭的坐標(biāo)
})
.mouseout(function() {
$(this).hide(); //隱藏提示框
$(this).prev("li").removeClass("optnFocus"); //刪除獲取焦點(diǎn)時的樣式
$("#sort").hide(); //隱藏提示箭頭
})
})
</script>
5.好了,大功告成了......
運(yùn)行的效果如下:
好了 開始進(jìn)入正題吧:
1.首先定義CSS樣式表:
復(fù)制代碼 代碼如下:
<style type="text/css">
body{font-size:13px}
ul,li{list-style-type:none;padding:0px;margin:0px}
.menu{width:190px;border:solid 1px #E5D1A1;background-color:#FFFDD2}
.optn{width:190px;line-height:28px;border-top:dashed 1px #ccc}
.content{padding-top:10px;clear:left}
a{text-decoration:none;color:#666;padding:10px}
.optnFocus{background-color:#fff;font-weight:bold}
div{padding:10px}
div img{float:left;padding-right:6px}
span{padding-top:3px;font-size:14px;font-weight:bold;float:left}
.tip{width:190px;border:solid 2px #ffa200;position:absolute;padding:10px;
background-color:#fff;display:none}
.tip li{line-height:23px;}
#sort{position:absolute;display:none}
</style>
2.引用JQUERY的框架,大家可以去官網(wǎng)上下載最新的JQUERY,好像JQUERY1.5的版本都發(fā)布了,鏈接地址:http://jquery.com/
3.定義HTML標(biāo)簽:
復(fù)制代碼 代碼如下:
<ul>
<li class="menu">
<div>
<img alt="" src="Images/icon.gif" />
<span>電腦數(shù)碼類產(chǎn)品</span>
</div>
<ul class="content">
<li class="optn"><a href="#">筆記本</a></li>
<ul class="tip">
<li><a href="#">筆記本1</a></li>
<li><a href="#">筆記本2</a></li>
<li><a href="#">筆記本3</a></li>
<li><a href="#">筆記本4</a></li>
<li><a href="#">筆記本5</a></li>
</ul>
<li class="optn"><a href="#">移動硬盤</a></li>
<ul class="tip">
<li><a href="#">移動硬盤1</a></li>
<li><a href="#">移動硬盤2</a></li>
<li><a href="#">移動硬盤3</a></li>
<li><a href="#">移動硬盤4</a></li>
<li><a href="#">移動硬盤5</a></li>
</ul>
<li class="optn"><a href="#">電腦軟件</a></li>
<ul class="tip">
<li><a href="#">電腦軟件1</a></li>
<li><a href="#">電腦軟件2</a></li>
<li><a href="#">電腦軟件3</a></li>
<li><a href="#">電腦軟件4</a></li>
<li><a href="#">電腦軟件5</a></li>
</ul>
<li class="optn"><a href="#">數(shù)碼產(chǎn)品</a></li>
<ul class="tip">
<li><a href="#">數(shù)碼產(chǎn)品1</a></li>
<li><a href="#">數(shù)碼產(chǎn)品2</a></li>
<li><a href="#">數(shù)碼產(chǎn)品3</a></li>
<li><a href="#">數(shù)碼產(chǎn)品4</a></li>
<li><a href="#">數(shù)碼產(chǎn)品5</a></li>
</ul>
</ul>
<img id="sort" src="Images/sort.gif" alt=""/>
</li>
</ul>
4.接下來是定義最重要的JQUERY代碼了:
復(fù)制代碼 代碼如下:
<script type="text/javascript">
$(function() {
var curY; //獲取所選項的Top值
var curH; //獲取所選項的Height值
var curW; //獲取所選項的Width值
var srtY; //設(shè)置提示箭頭的Top值
var srtX; //設(shè)置提示箭頭的Left值
var objL; //獲取當(dāng)前對象
/*
*設(shè)置當(dāng)前位置數(shù)值
*參數(shù)obj為當(dāng)前對象名稱
*/
function setInitValue(obj) {
curY = obj.offset().top
curH = obj.height();
curW = obj.width();
srtY = curY + (curH / 2) + "px"; //設(shè)置提示箭頭的Top值
srtX = curW - 5 + "px"; //設(shè)置提示箭頭的Left值
}
$(".optn").mouseover(function() {//設(shè)置當(dāng)前所選項的鼠標(biāo)滑過事件
objL = $(this); //獲取當(dāng)前對象
setInitValue(objL); //設(shè)置當(dāng)前位置
var allY = curY - curH + "px"; //設(shè)置提示框的Top值
objL.addClass("optnFocus"); //增加獲取焦點(diǎn)時的樣式
objL.next("ul").show().css({ "top": allY, "left": curW }) //顯示并設(shè)置提示框的坐標(biāo)
$("#sort").show().css({ "top": srtY, "left": srtX }); //顯示并設(shè)置提示箭頭的坐標(biāo)
})
.mouseout(function() {//設(shè)置當(dāng)前所選項的鼠標(biāo)移出事件
$(this).removeClass("optnFocus"); //刪除獲取焦點(diǎn)時的樣式
$(this).next("ul").hide(); //隱藏提示框
$("#sort").hide(); //隱藏提示箭頭
})
$(".tip").mousemove(function() {
$(this).show(); //顯示提示框
objL = $(this).prev("li"); //獲取當(dāng)前的上級li對象
setInitValue(objL); //設(shè)置當(dāng)前位置
objL.addClass("optnFocus"); //增加上級li對象獲取焦點(diǎn)時的樣式
$("#sort").show().css({ "top": srtY, "left": srtX }); //顯示并設(shè)置提示箭頭的坐標(biāo)
})
.mouseout(function() {
$(this).hide(); //隱藏提示框
$(this).prev("li").removeClass("optnFocus"); //刪除獲取焦點(diǎn)時的樣式
$("#sort").hide(); //隱藏提示箭頭
})
})
</script>
5.好了,大功告成了......
運(yùn)行的效果如下:

您可能感興趣的文章:
- JQuery 寫的個性導(dǎo)航菜單
- 基于jquery實(shí)現(xiàn)導(dǎo)航菜單高亮顯示(兩種方法)
- jQuery彈性滑動導(dǎo)航菜單實(shí)現(xiàn)思路及代碼
- Jquery實(shí)現(xiàn)帶動畫效果的經(jīng)典二級導(dǎo)航菜單
- jQuery實(shí)現(xiàn)的動態(tài)伸縮導(dǎo)航菜單實(shí)例
- 純CSS打造的導(dǎo)航菜單(附j(luò)query版)
- jQuery三級下拉列表導(dǎo)航菜單代碼分享
- Jquery+CSS 創(chuàng)建流動導(dǎo)航菜單 Fluid Navigation
- jQuery實(shí)現(xiàn)簡潔的導(dǎo)航菜單效果
- jQuery漸變發(fā)光導(dǎo)航菜單的實(shí)例代碼
- 分享14個很酷的jQuery導(dǎo)航菜單插件
- jQuery實(shí)現(xiàn)的背景動態(tài)變化導(dǎo)航菜單效果
- 制作jquery遮罩層效果導(dǎo)航菜單代碼分享
- jQuery實(shí)現(xiàn)簡單漂亮的Nav導(dǎo)航菜單效果
相關(guān)文章
jquery獲取table中的某行全部td的內(nèi)容方法
jquery獲取table中的某行全部td的內(nèi)容方法,需要的朋友可以參考一下2013-03-03
easyui取消表單實(shí)時驗證,提交時統(tǒng)一驗證的簡單實(shí)例
下面小編就為大家?guī)硪黄猠asyui取消表單實(shí)時驗證,提交時統(tǒng)一驗證的簡單實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11
jQuery實(shí)現(xiàn)字符串按指定長度加入特定內(nèi)容的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)字符串按指定長度加入特定內(nèi)容的方法,實(shí)例分析了jQuery操作字符串的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03
jQuery數(shù)組處理代碼詳解(含實(shí)例演示)
jQuery數(shù)組處理代碼詳解,需要的朋友可以參考下2012-02-02
關(guān)于Jquery操作Cookie取值錯誤的解決方法
使用JQuery操作cookie時 發(fā)生取的值不正確,結(jié)果發(fā)現(xiàn)cookie有四個不同的屬性,下面與大家分享下錯誤的原因及解決方法2013-08-08

