jQuery實(shí)現(xiàn)導(dǎo)航高亮的方法【附demo源碼下載】
本文實(shí)例講述了jQuery實(shí)現(xiàn)導(dǎo)航高亮的方法。分享給大家供大家參考,具體如下:
導(dǎo)航是我們頁(yè)面中一般都需要的一個(gè)元素,它可以說(shuō)是一個(gè)站點(diǎn)必用的元素,沒(méi)有了導(dǎo)航,會(huì)讓人找不著北,但有時(shí)候,僅僅有了導(dǎo)航還不夠,還需要在當(dāng)前的頁(yè)面中標(biāo)明當(dāng)前是在哪一個(gè)類別里面,這時(shí)候就有了不同的實(shí)現(xiàn)的方法,也就有了下文的一些介紹。
通常,我們?cè)谧鰧?dǎo)航的時(shí)候,都是由程序直接輸出當(dāng)前的頁(yè)面的的高亮狀態(tài)的樣式,我們只需要定義好輸出的類的高亮的樣式就可以了,這樣是最直接有效也是最常用的方法。
像Wordpress的導(dǎo)航輸出,會(huì)自動(dòng)輸出一個(gè)高亮的類的“current”,如下圖:
但有時(shí)候,我們?cè)诔绦蚶镞M(jìn)行包含的文件的時(shí)候,如統(tǒng)一的頭部和底部,這時(shí)候統(tǒng)一的頭部中有一個(gè)這樣的導(dǎo)航,如果粗心的程序員沒(méi)有無(wú)法給目前所在的目錄或文件輸出一個(gè)高亮的類的時(shí)候,或者有時(shí)候?qū)崿F(xiàn)起來(lái)非常麻煩的時(shí)候,能不能有一些其實(shí)的方法來(lái)實(shí)現(xiàn)和補(bǔ)救呢?
答案是肯定的,那就是JS。
但這個(gè)根據(jù)怎樣的規(guī)則給當(dāng)前的這個(gè)目錄或文件實(shí)現(xiàn)高亮呢?
最近剛好也在項(xiàng)目中遇到這個(gè)問(wèn)題,所以通過(guò)一番的折騰,實(shí)現(xiàn)了效果。
我的思路是這樣的,先找到當(dāng)前的URL的路徑,然后URL中的最后的一個(gè)文件名或目錄和導(dǎo)航中元素的某個(gè)屬性來(lái)進(jìn)行匹配,匹配成功的就加上高亮的類,把別的不是當(dāng)前匹配的類的高亮樣式去掉,不成功的時(shí)候就返回到首頁(yè)這個(gè)來(lái)進(jìn)行高亮。
于是就有了下面的代碼,經(jīng)試驗(yàn),無(wú)論是文件或是目錄都可匹配成功:
THML:
<ul class="menu" id="menu"> <li><a title="首頁(yè)" href="index.html" rel="index.html">首頁(yè)</a></li> <li ><a title="作品集" href="works.html" rel="works.html">作品集</a></li> <li><a title="前端庫(kù)" href="web.html" rel="web.html">前端庫(kù)</a></li> </ul>
js代碼:
<script type="text/javascript"> var urlstr = location.href; var urlstatus=false; $("#menu a").each(function () { if ((urlstr + '/').indexOf($(this).attr('rel')) > -1&&$(this).attr('rel')!='') { $(this).addClass('cur'); urlstatus = true; } else { $(this).removeClass('cur'); } }); if (!urlstatus) {$("#menu a").eq(0).addClass('cur'); } </script>
不要忘了,該腳本是基于Jquery的。
完整實(shí)例代碼點(diǎn)擊此處本站下載。
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery窗口操作技巧總結(jié)》、《jQuery拖拽特效與技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jquery中Ajax用法總結(jié)》、《jQuery表格(table)操作技巧匯總》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常見(jiàn)經(jīng)典特效匯總》、《jQuery動(dòng)畫與特效用法總結(jié)》及《jquery選擇器用法總結(jié)》
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
- 基于jquery實(shí)現(xiàn)導(dǎo)航菜單高亮顯示(兩種方法)
- jQuery制作的別致導(dǎo)航有陰影背景高亮模式窗口
- Jquery 高亮顯示文本中重要的關(guān)鍵字
- jquery實(shí)現(xiàn)帶復(fù)選框的表格行選中刪除時(shí)高亮顯示
- JQuery操作表格(隔行著色,高亮顯示,篩選數(shù)據(jù))
- JQuery文本框高亮顯示插件代碼
- jQuery實(shí)現(xiàn)點(diǎn)擊后標(biāo)記當(dāng)前菜單位置(背景高亮菜單)效果
- Jquery如何實(shí)現(xiàn)點(diǎn)擊時(shí)高亮顯示代碼
- jQuery實(shí)現(xiàn)鼠標(biāo)滑過(guò)遮罩并高亮顯示效果
- jQuery實(shí)現(xiàn)高亮顯示網(wǎng)頁(yè)關(guān)鍵詞的方法
- Jquery 點(diǎn)擊按鈕自動(dòng)高亮實(shí)現(xiàn)原理及代碼
- JQuery 浮動(dòng)導(dǎo)航欄實(shí)現(xiàn)代碼
- 簡(jiǎn)單的jquery左側(cè)導(dǎo)航欄和頁(yè)面選中效果
- jQuery 實(shí)現(xiàn)側(cè)邊浮動(dòng)導(dǎo)航菜單效果
相關(guān)文章
jQuery Validation實(shí)例代碼 讓驗(yàn)證變得如此容易
眾所周知,Jquery以其簡(jiǎn)潔性讓無(wú)數(shù)人為之瘋狂?,F(xiàn)在我要像大家介紹一個(gè)jQuery Validation,一看到Validation大家肯定第一直觀感覺(jué)就是這肯定是一個(gè)驗(yàn)證框架,沒(méi)有錯(cuò),本文就是基于jQuery Validation展開(kāi)討論。2010-10-10jquery選擇器中的空格與大于號(hào)>、加號(hào)+與波浪號(hào)~的區(qū)別介紹
這篇文章主要介紹了jquery選擇器中的空格與大于號(hào)>、加號(hào)+與波浪號(hào)~的區(qū)別介紹的相關(guān)資料,需要的朋友可以參考下2016-06-06jquery通過(guò)name屬性取值的簡(jiǎn)單實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇jquery通過(guò)name屬性取值的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06jQuery實(shí)現(xiàn)灰藍(lán)風(fēng)格標(biāo)準(zhǔn)二級(jí)下拉菜單效果代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)灰藍(lán)風(fēng)格標(biāo)準(zhǔn)二級(jí)下拉菜單效果代碼,涉及jquery鼠標(biāo)mouseover事件控制頁(yè)面元素樣式動(dòng)態(tài)變換的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08jQuery實(shí)現(xiàn)的點(diǎn)擊標(biāo)題文字切換字體效果示例【測(cè)試可用】
這篇文章主要介紹了jQuery實(shí)現(xiàn)的點(diǎn)擊標(biāo)題文字切換字體效果,涉及jQuery基于事件響應(yīng)實(shí)現(xiàn)頁(yè)面元素屬性動(dòng)態(tài)變換相關(guān)操作技巧,需要的朋友可以參考下2018-04-04jquery清空input標(biāo)簽的值及清除標(biāo)簽里面的內(nèi)容
這篇文章主要介紹了jquery清空input標(biāo)簽的值,清除標(biāo)簽里面的內(nèi)容,清除input標(biāo)簽的值,可以通過(guò)直接將input標(biāo)簽的值設(shè)置為空來(lái)實(shí)現(xiàn),本文通過(guò)示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2023-10-10