导航栏之抖动效果

Posted 喵小娇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了导航栏之抖动效果相关的知识,希望对你有一定的参考价值。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>17-4-2</title>
 6     <style>
 7         *{padding: 0; margin: 0;}
 8         li{list-style: none;}
 9 
10         ul{width: 400px; height: 30px; position: relative; margin: 100px auto;}
11         li{float: left; width: 98px; height: 28px; line-height: 28px; border: 1px solid black; text-align: center; z-index: 2; position: relative; cursor: pointer;}
12         .bg{width: 100px; height: 5px; overflow: hidden; background: crimson; border: none;position: absolute; top: 24px; left: 0; z-index: 1;}
13     </style>
14     <script>
15         window.onload=function () {
16             var oUl=document.getElementById(\'ul1\');
17             var aLi=oUl.getElementsByTagName(\'li\');
18             var oBg=aLi[aLi.length-1];
19             var iSpeed=0;
20             
21             for(var i=0;i<aLi.length-1;i++){
22                 aLi[i].onmouseover=function () {
23                     startMove(oBg,this.offsetLeft);
24                 }
25             }
26             
27             function startMove(obj,iTarget) {
28                 clearInterval(obj.timer);
29                 obj.timer=setInterval(function () {
30                     iSpeed+=(iTarget-obj.offsetLeft)/5;  //5决定抖动幅度。
31                     iSpeed*=0.7;  //不断变化,直至为0。
32 
33                     obj.style.left=obj.offsetLeft+iSpeed+\'px\';
34                 },30)
35 
36             }
37         }
38     </script>
39 </head>
40 <body>
41 <ul id="ul1">
42     <li>首页</li>
43     <li>关于我们</li>
44     <li>产品</li>
45     <li>联系方式</li>
46     <li class="bg"></li>
47 </ul>
48 </body>
49 </html>

效果图:

以上是关于导航栏之抖动效果的主要内容,如果未能解决你的问题,请参考以下文章

Android仿小米商城底部导航栏之二(BottomNavigationBarViewPager和Fragment的联动使用)

iOS - 设置导航栏之标题栏居中标题栏的背景颜色

12个用得着的 JQuery 代码片段

常用的几个JQuery代码片段

Android 标题栏之隐藏

jquery 怎么做简单抖动效果