js實(shí)現(xiàn)帶緩動(dòng)動(dòng)畫(huà)的導(dǎo)航欄效果
話(huà)不多說(shuō),請(qǐng)看實(shí)例代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <style type="text/css"> ul,li { padding: 0; margin: 0; } li { list-style: none; } #box{ height: 48px; width: 900px; background-color: #459DF5; margin: 50px auto; position: relative; } #caution { width: 150px; height: 48px; background-color: #4B92D8; position: absolute; top: 0; left: 0; } #list { position: absolute; } #list li { width: 150px; height: 48px; float: left; color: #fff; font: 500 20px/48px "微軟雅黑"; text-align: center; cursor: pointer; } </style> <script type="text/javascript"> window.onload = function(){ //獲取ul ID var oUl = document.getElementById("list"); // 獲取span ID var caution = document.getElementById("caution"); //獲取ul 所有孩子 var aLi = oUl.children; //定時(shí)器管理 var timer = null; //緩動(dòng) var leader = 0; var target = 0; //停留 var current = 0; for(var i = 0;i<aLi.length;i++){ //鼠標(biāo)移動(dòng) aLi[i].onmouseover = function(){ //關(guān)閉定時(shí)器 clearInterval(timer); //獲取當(dāng)前的left值 target = this.offsetLeft; //開(kāi)啟定時(shí)器 timer = setInterval(autoCaution,20); } //鼠標(biāo)點(diǎn)擊 aLi[i].onmousedown = function(){ //清楚所有高亮的文字 for(var j = 0;j<aLi.length;j++){ aLi[j].style.color = "#fff"; } //當(dāng)前點(diǎn)擊欄變?yōu)榧t色 this.style.color = "#ccc"; //提示框 current = this.offsetLeft; caution.style.left = current+"px"; } } //鼠標(biāo)離開(kāi) oUl.onmouseout = function(){ //關(guān)閉定時(shí)器 clearInterval(timer); target = current; timer = setInterval(autoCaution,20); } //緩動(dòng)動(dòng)畫(huà) function autoCaution(){ leader = leader +(target - leader) /10; caution.style.left = leader+"px"; } } </script> </head> <body> <div id="box"> <span id="caution"></span> <ul id="list"> <li>首頁(yè)</li> <li>公司簡(jiǎn)介</li> <li>企業(yè)文化</li> <li>招賢納士</li> <li>企業(yè)論壇</li> </ul> </div> </body> </html>
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
JavaScript中removeChild 方法開(kāi)發(fā)示例代碼
這篇文章主要介紹了JavaScript中removeChild 方法開(kāi)發(fā)示例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08js獲取或設(shè)置當(dāng)前窗口url參數(shù)的小例子
這篇文章介紹了js獲取或設(shè)置當(dāng)前窗口url參數(shù)的小例子,有需要的朋友可以參考一下2013-10-10原生JS封裝拖動(dòng)驗(yàn)證滑塊的實(shí)現(xiàn)代碼示例
這篇文章主要介紹了原生JS封裝拖動(dòng)驗(yàn)證滑塊的實(shí)現(xiàn)代碼示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06JS實(shí)現(xiàn)即點(diǎn)即編輯功能代碼
以前在網(wǎng)上都看到過(guò)類(lèi)似的功能,不過(guò)沒(méi)自己想要實(shí)現(xiàn)過(guò),這次剛好做靜態(tài)頁(yè)面中有這樣的一個(gè)需求,就試著自己做做看,做完發(fā)現(xiàn)也不是什么很難的事情。2008-10-10JavaScript實(shí)現(xiàn)新年倒計(jì)時(shí)效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)新年倒計(jì)時(shí)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11js實(shí)現(xiàn)數(shù)組冒泡排序、快速排序原理
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)數(shù)組冒泡排序、快速排序的原理,感興趣的小伙伴們可以參考一下2016-03-03Highcharts 非常實(shí)用的Javascript統(tǒng)計(jì)圖demo示例
官網(wǎng)實(shí)例中給出了各式各樣的demo,可以參照document修改自己需要的即可,本文實(shí)現(xiàn)的是一個(gè)學(xué)生成績(jī)走勢(shì)demo,有需求的朋友可以參考下哈,希望對(duì)大家有所幫助2013-07-07js彈性勢(shì)能動(dòng)畫(huà)之拋物線(xiàn)運(yùn)動(dòng)實(shí)例詳解
這篇文章主要為大家詳細(xì)介紹了js彈性勢(shì)能動(dòng)畫(huà)之拋物線(xiàn)運(yùn)動(dòng)的制作方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07