JavaScript实现滑动导航栏效果

  

本文实例为大家分享了js实现滑动导航栏效果的具体代码,供大家参考,具体内容如下

        & lt; !DOCTYPE html>   & lt; html>   & lt; head>   & lt;元charset=皍tf - 8”比;   & lt; title> & lt;/title>   & lt;元name=笆哟啊蹦谌?翱矶?设备宽度,初始=1,最大范围=1.0,user-scalable=不”比;      & lt;脚本src=" https://www.yisu.com/zixun/node_modules/jquery/jquery.js "祝辞& lt;/script>   & lt; style>   * {   保证金:0;   填充:0;   }   .navScroll {   位置:相对;   }   #溢出{   宽度:100%;   高度:30 px;   overflow-x:滚动;   }   #溢出.container {   高度:30 px;   }   #溢出.container div {   浮:左;   宽度:100 px;   高度:30 px;   行高:30 px;   text-align:中心;   }   #溢出:-webkit-scrollbar {   显示:没有;   -webkit-overflow-scrolling:触摸;   }   .navScroll .drop_down {   位置:绝对的;   上图:0;   右:0;   宽度:50 px;   高度:30 px;   }   .navScroll .drop_down img {   宽度:100%;   高度:100%;   }   .tabUl.clearFix {   显示:没有;   宽度:100%;   list-style:没有;   z - index: 10;   背景:rgba (0, 0, 0, 1。);   }   李.tabUl {   浮:左;   宽度:6.25快速眼动;   高度:2.65625快速眼动;   行高:2.65625雷姆;;   text-align:中心;   }   .clearFix {   内容:“”;   显示:表;   明确:;   }   div, ul {   颜色:# 89 cfe8;   }      #溢出.container div.lastWidth {   宽度:50 px;   }   r {   颜色:# FF9933;   }   & lt;/style>   & lt;/head>   & lt; body>   & lt; div类=皀avScroll”比;   & lt; div id=耙绯觥北?   & lt; div类="容器"比;   & lt; div类=皌abItem红”比;   item1   & lt;/div>   & lt; div类=皌abItem”比;   第二条   & lt;/div>   & lt; div类=皌abItem”比;   item3   & lt;/div>   & lt; div类=皌abItem”比;   item4   & lt;/div>   & lt; div类=皌abItem”比;   item5   & lt;/div>   & lt; div类=皌abItem”比;   item6   & lt;/div>   & lt; div类=皌abItem”比;   item7   & lt;/div>   & lt; div类=皌abItem”比;   item8   & lt;/div>   & lt; div类=皌abItem”比;   item9   & lt;/div>   & lt; div类=皌abItem”比;   item10   & lt;/div>   & lt; div类=皌abItem”比;   item11   & lt;/div>   & lt; div类=" lastWidth "祝辞& lt;/div>   & lt;/div>   & lt;/div>   & lt; div类=癲rop_down”比;   & lt; img src=" https://www.yisu.com/zixun/img/icon_events_fold.png "下降=跋蛳隆盿lt="/比;   & lt;/div>   & lt; ul类=" tabUl clearFix”比;   & lt;李类="红色"祝辞item1   & lt;李祝辞item2   & lt;李祝辞item3   & lt;李祝辞item4   & lt;李祝辞item5   & lt;李祝辞item6   & lt;李祝辞item7   & lt;李祝辞item8   & lt;李祝辞item9   & lt;李祝辞item10   & lt;李祝辞item11      & lt;/ul>   & lt;/div>   & lt;/body>   & lt; script>   var宽度=0;   $(" #溢出.container div”)。每个(函数(){   宽度+=$ ().outerWidth(真正的);   });   $(" #溢出.container”)。css(“宽度”,宽度+“px”);   var=true标记;   $("。drop_down img) .click(函数(e){//箭头符号的变化   如果(国旗){   $("。drop_down img) .attr (“src”、“img/icon_events_unfold.png”);   $ (" .tabUl ") . css(“显示”、“块”)   国旗=false;   其他}{   $("。drop_down img) .attr (“src”、“img/icon_events_fold.png”);   $ (" .tabUl ") . css(“显示”,“没有一个”)   国旗=true;   }   });   var ulHeight=Math.ceil (($ ("。tabUl李”).length-1)/6) * 2.65625 +“快速眼动”;   $("。navScroll .tabUl”) . css(“高度”,ulHeight)   $ (“.navScroll”)。(“点击”、“.tabItem”、函数(e,指数){//滑动栏点击样式   var=$美元(这);   $ (" .tabItem”)。css({“色”:“# 89 cfe8”})   美元($)。css({“颜色”:“# FF9933 "});   var项=$(美元)[0];   var ulIndx;   $ (" .tabItem ") . each(函数(我,n) {   如果(n==物品){   ulIndx=我;   }   })   $("。tabUl李”)。css({“颜色”:“# 89 cfe8 "});   var ulItems=$ ("。tabUl李”)[ulIndx];   美元(ulItems)。css({“颜色”:“# FF9933 "});   moveNav (ulIndx);   })   $ (“.navScroll”)。(“点击”,“李”,函数(e,指数){//下拉点击样式   var=$美元(这);   $("李")。css({“色”:“# 89 cfe8”})   美元($)。css({“颜色”:“# FF9933 "});   var项=$(美元)[0];   var ulIndx;   $("李"). each(函数(我,n) {   如果(n==物品){   ulIndx=我;   }   })   $ (" .tabItem”)。css({“颜色”:“# 89 cfe8 "});   var ulItems=$ (“.tabItem”) (ulIndx);   美元(ulItems)。css({“颜色”:“# FF9933 "});   $("。drop_down img) .attr (“src”、“img/icon_events_fold.png”);   $ (" .tabUl ") . css(“显示”,“没有一个”)   国旗=true;   moveNav (ulIndx);   })   函数moveNav(指数){//滑动栏移动效果   var allImg=$ (“.navScroll”); (“.tabItem”);   var navImgWidth=allImg.width ();   var lastWidth=$ ("。容器.lastWidth”) .width ();   var windowWidth=$(窗口).width ();   var navBox=$(" #溢出");   如果(navImgWidth *(指数+ 1)祝辞=windowWidth-navImgWidth) {   如果(navImgWidth *(指数+ 1)& lt; navImgWidth * (allImg.length-1) + lastWidth-windowWidth) {   navBox.animate ({scrollLeft: navImgWidth *(指数+ 1)},500);   其他}{   navBox.animate ({scrollLeft: navImgWidth * (allImg.length) + lastWidth-windowWidth}, 500);   }   其他}{   navBox.animate ({scrollLeft:“0 px”}, 1000);   }   }   & lt;/script>   & lt;/html>

JavaScript实现滑动导航栏效果