JS實(shí)現(xiàn)百度新聞導(dǎo)航欄效果
本文實(shí)例為大家分享了JS實(shí)現(xiàn)百度新聞導(dǎo)航欄效果的具體代碼,供大家參考,具體內(nèi)容如下
最近在學(xué)Web前端,用js簡(jiǎn)單實(shí)現(xiàn)了百度新聞導(dǎo)航欄的效果。當(dāng)鼠標(biāo)移動(dòng)到某一選項(xiàng)上方時(shí),會(huì)有一個(gè)紅色背景塊滑動(dòng)到當(dāng)前選項(xiàng)上。當(dāng)點(diǎn)擊某一選項(xiàng)后,固定的紅色背景塊位置會(huì)移動(dòng)到當(dāng)前選項(xiàng),意為當(dāng)前選項(xiàng)被選中。話不多說(shuō),代碼如下
body部分
<div class="box"> <!--兩個(gè)紅色背景塊--> <!--隨鼠標(biāo)移動(dòng)的背景塊--> <div id="move"></div> <!--鼠標(biāo)點(diǎn)擊后固定在某處的背景塊--> <div id="fixed"></div> <a href="#">主頁(yè)</a> <a href="#">國(guó)內(nèi)</a> <a href="#">國(guó)際</a> <a href="#">軍事</a> <a href="#">財(cái)經(jīng)</a> <a href="#">娛樂(lè)</a> <a href="#">體育</a> <a href="#">互聯(lián)網(wǎng)</a> <a href="#">科技</a> <a href="#">游戲</a> <a href="#">女人</a> <a href="#">汽車</a> <a href="#">房產(chǎn)</a> </div>
css部分
*{ margin: 0; padding: 0; } .box{ top:100px; width: 790px; height: 30px; font-size: 0; position: relative; margin: 0 auto; background-color: #01204f; } a{ display: inline-block; position: relative; width: 60px; height: 30px; line-height: 30px; color: white; font-size: 16px; text-decoration: none; text-align: center; transition: all 0.6s; } #move{ position: absolute; background-color: red; top: 0px; left: 0px; width: 60px; height: 30px; transition: all 0.6s; } #fixed{ position: absolute; background-color: red; top: 0px; left: 0px; width: 60px; height: 30px; }
js部分
window.onload = function () { let move = document.getElementById("move");//滑動(dòng)的背景塊 let fixed = document.getElementById("fixed");//固定在某處的背景塊 let aList = document.getElementsByTagName("a");//a標(biāo)簽列表 let left = move.offsetLeft + "px";//滑動(dòng)背景塊的初始位置 //使所有a標(biāo)簽綁定移入、移出、單擊事件 for (let i = 0; i < aList.length; i++) { aList[i].onmouseover = function () { // 鼠標(biāo)移入某個(gè)a標(biāo)簽時(shí),滑動(dòng)背景塊滑到當(dāng)前a標(biāo)簽的位置 move.style.left = aList[i].offsetLeft + "px"; } aList[i].onmouseout = function () { // 鼠標(biāo)移出a標(biāo)簽時(shí),滑動(dòng)背景塊返回初始位置 move.style.left = left; } aList[i].onclick = function () { // 某個(gè)a標(biāo)簽被點(diǎn)擊后,固定背景塊移動(dòng)到當(dāng)前a標(biāo)簽的位置 fixed.style.left = aList[i].offsetLeft + "px"; // 將滑動(dòng)背景塊的初始位置更新為當(dāng)前a標(biāo)簽的位置 left = aList[i].offsetLeft + "px"; } } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JS 實(shí)現(xiàn)導(dǎo)航欄懸停效果
- JavaScript實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊導(dǎo)航欄變色特效
- JavaScript實(shí)現(xiàn)滑動(dòng)導(dǎo)航欄效果
- Fullpage.js固定導(dǎo)航欄-實(shí)現(xiàn)定位導(dǎo)航欄
- JS滾動(dòng)到指定位置導(dǎo)航欄固定頂部
- 一步步教大家編寫(xiě)酷炫的導(dǎo)航欄js+css實(shí)現(xiàn)
- js導(dǎo)航欄單擊事件背景變換示例代碼
- JavaScript NodeTree導(dǎo)航欄(菜單項(xiàng)JSON類型/自制)
- 原生JS實(shí)現(xiàn) MUI導(dǎo)航欄透明漸變效果
- js實(shí)現(xiàn)帶緩動(dòng)動(dòng)畫(huà)的導(dǎo)航欄效果
相關(guān)文章
ionic2打包android時(shí)gradle無(wú)法下載的解決方法
這篇文章主要為大家詳細(xì)介紹了ionic2打包android時(shí)gradle無(wú)法下載的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04js css+html實(shí)現(xiàn)簡(jiǎn)單的日歷
這篇文章主要為大家詳細(xì)介紹了由html、css、javascript結(jié)合實(shí)現(xiàn)的簡(jiǎn)單日歷,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07js動(dòng)態(tài)移動(dòng)滾動(dòng)條至底部示例代碼
這篇文章主要介紹了使用js動(dòng)態(tài)移動(dòng)滾動(dòng)條至底部,需要的朋友可以參考下2014-04-04el-input 標(biāo)簽中密碼的顯示和隱藏功能的實(shí)例代碼
本文通過(guò)實(shí)例代碼給大家介紹了el-input 標(biāo)簽中密碼的顯示和隱藏 ,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07javascript函數(shù)自動(dòng)執(zhí)行常用方法匯總
本文給大家匯總介紹了3種javascript函數(shù)自動(dòng)執(zhí)行的常用方法,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下2016-03-03javascript檢測(cè)移動(dòng)設(shè)備橫豎屏
移動(dòng)端的開(kāi)發(fā)過(guò)程中,免不了要判斷橫豎屏,然后在執(zhí)行其他操作,比如分別加載不同樣式,橫屏顯示某些內(nèi)容,豎屏顯示其他內(nèi)容等等。2016-05-05js querySelector和getElementById通過(guò)id獲取元素的區(qū)別
這是sina同事xiaoniu發(fā)現(xiàn)的,querySelector和getElementById通過(guò)id獲取元素的區(qū)別2012-04-04使用coffeescript編寫(xiě)node.js項(xiàng)目的方法匯總
Node.js 基于JavaScript編寫(xiě)應(yīng)用,JavaScript是我的主要開(kāi)發(fā)語(yǔ)言。CoffeeScript是編譯為JavaScript的編程語(yǔ)言。CoffeeScript是一個(gè)非常高階的語(yǔ)言,將JavaScript、Ruby和Python中我最愛(ài)的部分結(jié)合在了一起。小編給大家介紹下使用coffeescript編寫(xiě)node.js項(xiàng)目的方法2015-08-08