JS實現(xiàn)百度新聞導(dǎo)航欄效果
本文實例為大家分享了JS實現(xiàn)百度新聞導(dǎo)航欄效果的具體代碼,供大家參考,具體內(nèi)容如下
最近在學(xué)Web前端,用js簡單實現(xiàn)了百度新聞導(dǎo)航欄的效果。當鼠標移動到某一選項上方時,會有一個紅色背景塊滑動到當前選項上。當點擊某一選項后,固定的紅色背景塊位置會移動到當前選項,意為當前選項被選中。話不多說,代碼如下
body部分
<div class="box"> <!--兩個紅色背景塊--> <!--隨鼠標移動的背景塊--> <div id="move"></div> <!--鼠標點擊后固定在某處的背景塊--> <div id="fixed"></div> <a href="#">主頁</a> <a href="#">國內(nèi)</a> <a href="#">國際</a> <a href="#">軍事</a> <a href="#">財經(jīng)</a> <a href="#">娛樂</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");//滑動的背景塊 let fixed = document.getElementById("fixed");//固定在某處的背景塊 let aList = document.getElementsByTagName("a");//a標簽列表 let left = move.offsetLeft + "px";//滑動背景塊的初始位置 //使所有a標簽綁定移入、移出、單擊事件 for (let i = 0; i < aList.length; i++) { aList[i].onmouseover = function () { // 鼠標移入某個a標簽時,滑動背景塊滑到當前a標簽的位置 move.style.left = aList[i].offsetLeft + "px"; } aList[i].onmouseout = function () { // 鼠標移出a標簽時,滑動背景塊返回初始位置 move.style.left = left; } aList[i].onclick = function () { // 某個a標簽被點擊后,固定背景塊移動到當前a標簽的位置 fixed.style.left = aList[i].offsetLeft + "px"; // 將滑動背景塊的初始位置更新為當前a標簽的位置 left = aList[i].offsetLeft + "px"; } } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JS 實現(xiàn)導(dǎo)航欄懸停效果
- JavaScript實現(xiàn)鼠標點擊導(dǎo)航欄變色特效
- JavaScript實現(xiàn)滑動導(dǎo)航欄效果
- Fullpage.js固定導(dǎo)航欄-實現(xiàn)定位導(dǎo)航欄
- JS滾動到指定位置導(dǎo)航欄固定頂部
- 一步步教大家編寫酷炫的導(dǎo)航欄js+css實現(xiàn)
- js導(dǎo)航欄單擊事件背景變換示例代碼
- JavaScript NodeTree導(dǎo)航欄(菜單項JSON類型/自制)
- 原生JS實現(xiàn) MUI導(dǎo)航欄透明漸變效果
- js實現(xiàn)帶緩動動畫的導(dǎo)航欄效果
相關(guān)文章
ionic2打包android時gradle無法下載的解決方法
這篇文章主要為大家詳細介紹了ionic2打包android時gradle無法下載的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04javascript函數(shù)自動執(zhí)行常用方法匯總
本文給大家匯總介紹了3種javascript函數(shù)自動執(zhí)行的常用方法,非常的簡單實用,有需要的小伙伴可以參考下2016-03-03js querySelector和getElementById通過id獲取元素的區(qū)別
這是sina同事xiaoniu發(fā)現(xiàn)的,querySelector和getElementById通過id獲取元素的區(qū)別2012-04-04使用coffeescript編寫node.js項目的方法匯總
Node.js 基于JavaScript編寫應(yīng)用,JavaScript是我的主要開發(fā)語言。CoffeeScript是編譯為JavaScript的編程語言。CoffeeScript是一個非常高階的語言,將JavaScript、Ruby和Python中我最愛的部分結(jié)合在了一起。小編給大家介紹下使用coffeescript編寫node.js項目的方法2015-08-08