js如何实现水平滚动菜单导航

  介绍

这篇文章主要介绍了js如何实现水平滚动菜单导航,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

js有什么特点

1, js属于一种解释性脚本语言;2,在绝大多数浏览器的支持下,js可以在多种平台下运行,拥有着跨平台特性;3,js属于一种弱类型脚本语言,对使用的数据类型未做出严格的要求,能够进行类型转换,简单又容易上手;4,js语言安全性高,只能通过浏览器实现信息浏览或动态交互,从而有效地防止数据的丢失;5,基于对象的脚本语言,js不仅可以创建对象,也能使用现有的对象。

项目中用到了滚动导航,但是默认的滚动条太丑了,只好用js自己模拟了一个。凑合用可以,不算完美。希望以后有机会再来修饰一下。

先来看下最终效果:

 js如何实现水平滚动菜单导航

最终效果

先看html结构:

& lt; div  id=& # 39;根# 39;,类=皉oot"比;   ,& lt; ul 类=發ist", id=發ist"比;   ,& lt; li>全单1 & lt;/li>   ,& lt; li>全部菜2单& lt;/li>   ,& lt; li>全部3单& lt;/li>   ,& lt; li>菜单4 & lt;/li>   ,& lt; li>全菜单& lt;/li>   ,& lt; li>全部5菜单& lt;/li>   ,& lt; li>全6单& lt;/li>   ,& lt; li>全6部菜单& lt;/li>   ,& lt; li>全菜7单& lt;/li>   ,& lt; li>全8单& lt;/li>   ,& lt; li>全部5菜单& lt;/li>   ,& lt; li>全6单& lt;/li>   ,& lt; li>全6部菜单& lt;/li>   ,& lt; li>全菜7单& lt;/li>   ,& lt; li>全8单& lt;/li>   ,& lt; li>全9部菜单& lt;/li>   ,& lt; li>全10单& lt;/li>   11部,& lt; li>全单& lt;/li>   ,& lt; li>菜2单& lt;/li>   ,& lt; li>全菜12单& lt;/li>   32部,& lt; li>全菜单& lt;/li>   ,& lt;/ul>   & lt;/div>

说一下,末尾我给加了阴影的效果:

.root:{之前   ,显示:块;   ,内容:& # 39;& # 39;;   ,宽度:20 px;   ,高度:100%;   背景:大敌;rgba (111111111 0);   ,不必:2 px  2 px  32 px  2 px  # 999;   ,位置:绝对;   ,右:-20 px;   ,上图:0;   以前,}

其它的样式代码:

, * {   ,保证金:0;   ,填充:0;   ,字体类型:“Microsoft  YaHei  UI";   ,}   ,#{根   ,高度:60 px;   ,宽度:800 px;   ,空白:nowrap;}   ,溢出:隐藏;   ,-webkit-overflow-scrolling:触摸;   ,空白:nowrap;}   ,位置:相对;   ,边界底部:1 px  solid  # eee;   ,padding-right: 20 px;   ,背景颜色:# f5f5f5;   ,margin-left: 100 px;   ,margin-top: 50 px;   ,}   之前,.root: {   ,显示:块;   ,内容:& # 39;& # 39;;   ,宽度:20 px;   ,高度:100%;   背景:大敌;rgba (111111111 0);   ,不必:2 px  2 px  32 px  2 px  # 999;   ,位置:绝对;   ,右:-20 px;   ,上图:0;   ,}   ,.list {   ,位置:绝对;   ,左:0;   ,上图:0;   ,/*宽度:100%;*/,/*不能为100%,不然宽度只有父容器的宽度,我掉进这个坑了。*/,转型:all  1 s;   ,高度:100%;   ,行高:2.5;   ,}   ,碧绿{   ,颜色:红色;   ,粗细:大胆的;   ,}   ,.off {   ,颜色:# 000;   ,粗细:正常;   ,}   李,.list  {   ,显示:inline-block;   ,填充:10 px  20 px;   ,光标:指针;   以前,}

下面是js的逻辑部分:

, var  box =, . getelementbyid(& # 39;根# 39;);,//外面的容器。   ,var  listBox =, . getelementbyid(& # 39;列表# 39;);,//ul列表。主要是移动它的左值   ,var  list =, document.getElementsByTagName(& # 39;李# 39;);//所有列表元素   ,var  width =, box.clientWidth /2,,//为了判断是左滑还是右滑   ,var  totalWidth =, 0,,   ,(let 我=0;ijs如何实现水平滚动菜单导航