基于jQuery實現(xiàn)火焰燈效果導(dǎo)航菜單
效果描述為:當(dāng)鼠標經(jīng)過某一導(dǎo)航選項的時候,后面的背景圖片(上圖“圣誕節(jié)”后圓角背景)會彈性緩動到該導(dǎo)航選項,如果沒有發(fā)生單擊動作,鼠標移開后,背景圖又回到原來的位置。
您可以狠狠地點擊這里:demo效果頁面
使用說明:
1、需要鏈接的文件
需要調(diào)用的文件有:jQuery庫(1.2以上版本),jQuery緩動插件(jquery.easing.min.js),火焰燈效果插件(jquery.lavalamp.min.js)以及一個ul li列表的樣式文件。例如,本demo實例頁面鏈接如下截圖:

2、HTML代碼的寫法
從jQuery代碼來看,HTML只支持li列表,無序或有序列表(ol 或 ul)。例如下面的示例:
<ul class="lava_lamp">
<li class="current"><a href="#zhangxinxu">圣誕節(jié)</a></li>
<li><a href="#zhangxinxu">地震</a></li>
<li><a href="#zhangxinxu">股市</a></li>
<li><a href="#zhangxinxu">《十月圍城》</a></li>
<li><a href="#zhangxinxu">無線音樂咪咕匯</a></li>
</ul>
3、相應(yīng)的CSS寫法
CSS的寫法與平時使用無序列表寫導(dǎo)航條是沒有太大差異的,不同在于最內(nèi)部的a標簽需要設(shè)置position為relative并給定一個相對較高的層級(z-index),這是顯示原理(稍后討論)決定的。還有就是需要添加一個class為back的li標簽的樣式,這個樣式就是后面移動的背景圖片(或背景色或邊框等)的樣式。例如,上面的HTML的CSS可以如下(大致示意):
/*下邊框*/
. lava_lamp{position:relative; width:421px; height:29px; padding:15px; border:1px solid silver;}
. lava_lamp li{float:left;}
. lava_lamp li a{float:left; font-weight:bold; color:#333333; font-size:14px; top:8px; margin:auto 10px; text-decoration:none; position:relative; z-index:3;}
. lava_lamp li a:hover{text-decoration:none; color:#333333;}
. lava_lamp li.back{height:30px; border-bottom:3px solid #34538b; position:absolute; z-index:2;}
4、js部分的代碼
js用法很簡單。在$(function(){});之內(nèi)寫上$(“選擇器”).lavaLamp();其實就可以了。然而一般而言,會設(shè)置一些參數(shù)。還是上面的例子:
$(". lava_lamp").lavaLamp({
fx: "backout", //緩動類型
speed: 700, //緩動時間
click: function(event, menuItem) {
return false; //單擊觸發(fā)事件
}
});
這里有三個參數(shù):fx,speed,click分別表示緩動類型,緩動執(zhí)行的時間,以及單擊菜單后的觸發(fā)的事件。根據(jù)您的需求可以做相應(yīng)的修改,例如:fx: “bounceout”,speed: 1000 。
5、完成預(yù)覽
一般而言,預(yù)覽就可以看到效果了。如果您在IE6下發(fā)現(xiàn)背景圖片移動不順暢,試試在js中加入:document.execCommand(“BackgroundImageCache”, false, true);
原理簡述:
講一下jQuery代碼都做了什么工作:
jQuery首先做的事情就是在ul列表中又添加了一個class為back的li標簽,在CSS中,li.back被設(shè)置為為絕對定位(position:absolute;z-index:2;),層級小于導(dǎo)航中a標簽(position:relative;z-index:3;)的層級,所有,這里含有背景圖片(或背景色或邊框)的li.back標簽會在文字的下方(a標簽下方)顯示。
jQuery做的另外一件事情就是控制li.back這個標簽層的寬度以及l(fā)eft的位置了,也就是動畫效果了。這需要結(jié)合easing緩動插件了,如果僅是單純的移動,easing插件是不需要的,animate函數(shù)即可實現(xiàn)。

您可以狠狠地點擊這里:源文件打包下載(.zip 24.3k)
參考:http://www.gmarwaha.com/blog/2007/08/23/lavalamp-for-jquery-lovers/
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- jQuery實現(xiàn)簡單漂亮的Nav導(dǎo)航菜單效果
- jQuery和CSS仿京東仿淘寶列表導(dǎo)航菜單
- jQuery縱向?qū)Ш讲藛涡Ч麑崿F(xiàn)方法
- jQuery+CSS3實現(xiàn)仿花瓣網(wǎng)固定頂部位置帶懸浮效果的導(dǎo)航菜單
- jQuery+css實現(xiàn)非常漂亮的水平導(dǎo)航菜單效果
- jQuery模仿京東/天貓商品左側(cè)分類導(dǎo)航菜單效果
- 原生js和jquery分別實現(xiàn)橫向?qū)Ш讲藛涡Ч?/a>
- jQuery+CSS實現(xiàn)一個側(cè)滑導(dǎo)航菜單代碼
- jquery實現(xiàn)具有收縮功能的垂直導(dǎo)航菜單
- 基于jQuery實現(xiàn)以手風(fēng)琴方式展開和折疊導(dǎo)航菜單
- jQuery實現(xiàn)二級導(dǎo)航菜單的示例
相關(guān)文章
jQuery 開發(fā)之EasyUI 添加數(shù)據(jù)的實例
這篇文章主要介紹了jQuery 開發(fā)之EasyUI 添加數(shù)據(jù)的實例的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分內(nèi)容,需要的朋友可以參考下2017-09-09
jQuery+Ajax+PHP彈出層異步登錄效果(附源碼下載)
本文我們給大家介紹如何使用jQuery+Ajax+PHP彈出層異步登錄的應(yīng)用。感興趣的朋友通過本文學(xué)習(xí)吧2016-05-05
jQuery中的read和JavaScript中的onload函數(shù)的區(qū)別
這篇文章主要介紹了jQuery中的read和JavaScript中的onload函數(shù)的區(qū)別,這兩個函數(shù)在web編程中是最常用的,一定要搞清楚它們的區(qū)別,需要的朋友可以參考下2014-08-08
使用jQuery.form.js/springmvc框架實現(xiàn)文件上傳功能
這篇文章主要介紹了使用jQuery.form.js/springmvc框架實現(xiàn)文件上傳功能,非常具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧2016-05-05
jQuery查找和過濾_動力節(jié)點節(jié)點Java學(xué)院整理
這篇文章主要為大家詳細介紹了jQuery查找和過濾的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07
jQuery插件zTree實現(xiàn)清空選中第一個節(jié)點所有子節(jié)點的方法
這篇文章主要介紹了jQuery插件zTree實現(xiàn)清空選中第一個節(jié)點所有子節(jié)點的方法,涉及jQuery樹形插件zTree針對節(jié)點的遍歷與移除相關(guān)操作技巧,需要的朋友可以參考下2017-03-03

