日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

使用Javascript開發sliding-nav帶滑動條效果的導航插件

瀏覽:187日期:2023-06-07 09:55:55

本文介紹如何使用純Javascript來開發一款簡單的JS插件,本插件可以實現鼠標懸停在導航上時,下方的滑動條自動從當前菜單滑動到所選菜單當中去。

本項目的源代碼寄宿于GitHub,記得點小星星哦:

https://github.com/dosboy0716/sliding-nav

一、前言

效果如下圖:

使用Javascript開發sliding-nav帶滑動條效果的導航插件

二、使用方法

本插件只需要如下的三步,就可以在您的項目中使用:

1、在</body>標記結束前,引用sliding-nav.js文件

2、在需要滑動條的菜單容器上加類名 sliding-nav,當前項使用類名:active

3、使用屬性來定定外觀:sn-color='顏色' sn-radius='圓度' sn-height='高度'

<script src='https://rkxy.com.cn/path/to/sliding-nav.js'></script><ul sn-color='#F00' sn-radius='0px' sn-height='3px'> <li class='active'>菜單項1</li> <li>菜單項2</li> <li>菜單項3</li><ul>三、開發過程1. 模型示例

使用Javascript開發sliding-nav帶滑動條效果的導航插件

導航菜單一般使用上圖的層次型結構,外層容器使用<ul> 標記,菜單項使用<li>標記,假設如果要顯示黃色小橫條,如何定位很重要。

經過分析,雖然在視覺上小橫條位于UL之內,為了不破壞原來導航的樣式,小黃條必須使用absolute的絕對定位,并且初始位置與ul標記相同。

因此,我們把小橫條插入<ul>標記的前面,如上面的小灰點,它就是小橫條的初始位置即(left=0,top=0)的位置。

那么我們如何讓小條看起來在菜單項的正下方呢?

把小條的top屬性賦值為菜單項的高度(即offsetHeight屬性), 把小條的left屬性賦值為菜單項的左邊距(即offsetLeft屬性)

實現上面的功能可以使用如下的代碼:

function init() { var navs = document.getElementsByClassName(’sliding-nav’); for (var i = 0; i < navs.length; i++) { //創建一個DIV與當前導航豎向對齊 var indi = document.createElement('div'); indi. indi.style.borderRadius = navs[i].getAttribute('sn-radius') || '0px' indi.style.height = navs[i].getAttribute('sn-height') || '3px' indi.style.backgroundColor = navs[i].getAttribute('sn-color') || '#F00' indi.style.position = 'absolute' indi.style.transition = '0.5s' //查找當前子菜單項,如果有類名active或者是selected就視為當前項,如果沒有使用第1項 var selected = navs[i].getElementsByClassName(’active’) if (selected.length == 0) { selected = navs[i].getElementsByClassName(’selected’) } if (selected.length == 0) { selected = navs[i].children } if (selected.length == 0) { throw Error(’Sorry, Navigation bar has no item at all!’); } selected = selected[0]; indi.style.width = selected.offsetWidth + 'px'; indi.style.top = selected.offsetHeight + 'px'; indi.style.left = selected.offsetLeft + 'px'; navs[i].parentElement.insertBefore(indi, navs[i]); //未完成,下面插入代碼以綁定事件 } }

如上的代碼構建了初始化函數init(),此函數:

查找所有含有類名sliding-nav的標記,并且按照上面的方法,在前面插入div標記充當“指示條”,并且查找“活動”的菜單項,找到后通過這個菜單項的各個屬性給“指示條”定位。

2、事件與動畫

我們把'指示條'div 標記transition屬性設置成了0.5s,那么只要在事件里直接設置該div的如下:

left屬性就可以實現'指示條'的移動 width屬性就可以設置'指示條'的寬度

所以可以在如上的代碼末尾,插入如下的代碼實現事件與動畫:

for (var j = 0; j < navs[i].children.length; j++) { hover(navs[i].children[j], function(e, elem) { indi.style.width = elem.offsetWidth + 'px'; indi.style.left = elem.offsetLeft + 'px'; }); //移出導航就恢復默認 hover(navs[i], null, function(e, elem) { indi.style.width = selected.offsetWidth + 'px'; indi.style.left = selected.offsetLeft + 'px'; }); }

其中代碼,用到了自定義函數hover,該函數類似于實現hover事件,JS原生只有mouseover和mouseout事件。

函數作用是給DOM元素綁定鼠標移入和鼠標移出事件,具體實現的過程,可以看作者原代碼。

四、所有原代碼

本文實現的所有原代碼如下,希望讀者提出更加優化的建議,我們一起打造更加唯美的前端體驗。

for (var j = 0; j < navs[i].children.length; j++) { hover(navs[i].children[j], function(e, elem) { indi.style.width = elem.offsetWidth + 'px'; indi.style.left = elem.offsetLeft + 'px'; }); //移出導航就恢復默認 hover(navs[i], null, function(e, elem) { indi.style.width = selected.offsetWidth + 'px'; indi.style.left = selected.offsetLeft + 'px'; }); }

到此這篇關于使用Javascript開發sliding-nav帶滑動條效果的導航插件的文章就介紹到這了,更多相關js 開發sliding-nav導航條插件內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
激情欧美一区| 国产精品对白久久久久粗| 婷婷精品进入| 午夜亚洲福利| 国产成人精品一区二区免费看京 | 欧美国产91| 欧美日韩国产一区二区在线观看| 日韩欧美中文| 综合激情网...| 岛国av在线播放| 中文字幕日韩高清在线| 麻豆精品久久久| 日韩天堂av| 国产精品亚洲一区二区在线观看| 欧美日韩视频网站| 日韩精选在线| 久久久水蜜桃av免费网站| 婷婷综合电影| 欧洲一区二区三区精品| 亚洲精品成人一区| 亚洲三级欧美| 欧美日韩一区二区三区在线电影| 不卡在线一区| 精品91福利视频| 蜜桃av一区二区在线观看| 免费看av不卡| **爰片久久毛片| 亚洲免费影视| 日韩大片在线观看| 国产亚洲高清一区| 水蜜桃久久夜色精品一区的特点| 高清不卡亚洲| 国产精品美女午夜爽爽| 亚洲综合三区| 久久久777| 麻豆精品99| 日韩高清在线一区| 美女被久久久| 国产综合亚洲精品一区二| 精品精品99| 久久精品72免费观看| 亚洲一区欧美激情| 亚洲成a人片| 精品久久亚洲| 国产女人18毛片水真多18精品| 国产精品婷婷| 伊人精品在线| 久久天堂成人| 91综合网人人| 九九99久久精品在免费线bt| 欧美久久精品| 婷婷五月色综合香五月| 亚洲一二av| 视频一区在线视频| 国产视频一区欧美| 欧美精品羞羞答答| 日韩精品免费一区二区在线观看| 国产在线一区不卡| 欧美激情 亚洲a∨综合| 欧美在线黄色| 日韩精品免费视频一区二区三区| 免费精品视频在线| 国产精品免费看| 在线视频精品| 99在线|亚洲一区二区| 成人羞羞视频播放网站| 中文字幕在线看片| 日韩中文首页| 亚洲国内欧美| 国产一区视频在线观看免费| 久久精品亚洲人成影院| 黄色在线网站噜噜噜| 久久久久久自在自线| 国产成人精品免费视| 国产成人精品免费视| 波多视频一区| 亚洲va中文在线播放免费| 日韩伦理一区| 久久蜜桃精品| 欧美日韩国产高清| 日韩午夜在线| 老司机精品久久| 一区二区不卡| 91大神在线观看线路一区| 日韩av午夜在线观看| 日韩国产欧美三级| 国产精品一区亚洲| 国产一区二区三区探花| av免费不卡国产观看| 日韩成人综合| 在线视频精品| 日韩精品一级| 国产精品www994| 黑人精品一区| 黄色成人91| 日韩美女精品| 精品久久视频| 亚洲国产一区二区在线观看| 日韩专区在线视频| 日韩欧美中文字幕电影| 国产毛片精品| 中文在线中文资源| 国产尤物精品| 亚洲精品一级| 久久中文字幕一区二区三区| 一本大道色婷婷在线| 红桃视频国产一区| 日韩免费精品| 亚洲综合电影| 国产亚洲毛片| 国产精品亚洲成在人线| 日韩免费视频| 久久国产高清| 欧美一级一区| 成人看片网站| 亚洲精品观看| 韩日一区二区| 亚洲国产不卡| 国产伦精品一区二区三区千人斩| 97精品国产| 在线日韩成人| 久久香蕉精品香蕉| 国产精品毛片一区二区三区| 国产精品xvideos88| 女主播福利一区| 国产欧美日韩精品一区二区三区| 欧美日韩在线二区| 日韩极品在线观看| 亚洲伦乱视频| 91成人在线网站| 91国语精品自产拍| 国产精品一国产精品k频道56| 久久久精品日韩| 日本免费新一区视频| 日韩久久精品| 国产日韩中文在线中文字幕 | 九色精品91| 欧美激情视频一区二区三区在线播放| 国产真实久久| 国产精品久久久久久妇女 | 日本精品一区二区三区在线观看视频| 久久久久久网| 日韩二区在线观看| 激情婷婷综合| 激情久久一区二区| 蜜臀久久99精品久久久久久9 | 成人精品天堂一区二区三区| 国产精品自在| 爽好久久久欧美精品| 久久男人av资源站| 欧美日韩一区二区三区四区在线观看 | a天堂资源在线| 中文字幕一区二区三区在线视频| 在线天堂中文资源最新版| 国产亚洲欧美日韩精品一区二区三区 | 亚洲日本欧美| 国产精品字幕| 国产精品久久久久久久久久妞妞 | 国产一区福利| 91嫩草精品| 三级欧美韩日大片在线看| 婷婷激情一区| 精品精品久久| 国产精品中文字幕亚洲欧美 | 精品国产aⅴ| 人人精品久久| 蜜臀va亚洲va欧美va天堂 | 久久三级毛片| 日韩国产欧美在线视频| 蜜桃视频一区二区三区| 黑丝美女一区二区| 三级精品视频| 高清久久精品| 国产欧美三级| 欧美亚洲三区| 日本综合视频| 国产婷婷精品| 精品日韩毛片| 亚洲国内精品| 婷婷国产精品| 欧产日产国产精品视频| 成人在线视频中文字幕| 国产麻豆一区二区三区精品视频| 亚洲精品高潮| 婷婷精品在线| 免费不卡在线视频| 亚洲在线电影| 亚洲在线成人| 国产精品婷婷| 99国内精品| 久久xxxx| 日韩精品一区第一页| 亚洲在线电影| 在线免费观看亚洲| 亚洲精品乱码日韩| 青青国产91久久久久久| 亚洲tv在线| 日韩国产欧美在线播放| 欧美一区91| 美女久久99|