js实现带缓动动画的导航栏效果

 更新时间:2017年01月16日 11:12:38   作者:漫步未来  
本篇文章主要分享了js实现带缓动动画的导航栏效果的示例代码。具有一定的参考价值,下面跟着小编一起来看下吧

 话不多说,请看实例代码:

<!DOCTYPE html>
<html lang="en">
 <head>
  <meta charset="utf-8">
  <style type="text/css">
  ul,li { padding: 0; margin: 0; }
  li { list-style: none; }
   #box{
   height: 48px;
   width: 900px;
   background-color: #459DF5;
   margin: 50px auto;
   position: relative;
   }
   #caution {
   width: 150px;
   height: 48px;
   background-color: #4B92D8;
   position: absolute;
   top: 0;
   left: 0;
   }
 #list {
 position: absolute;
 }
   #list li {
   width: 150px;
   height: 48px;
   float: left;
   color: #fff;
   font: 500 20px/48px "微软雅黑";
   text-align: center;
   cursor: pointer;
   }
  </style>
  <script type="text/javascript">
   window.onload = function(){
   //获取ul ID
   var oUl = document.getElementById("list");
   // 获取span ID
   var caution = document.getElementById("caution");
   //获取ul 所有孩子
   var aLi = oUl.children;
   //定时器管理
   var timer = null;
   //缓动
   var leader = 0;
   var target = 0;
    //停留
    var current = 0;
   for(var i = 0;i<aLi.length;i++){
     //鼠标移动
   aLi[i].onmouseover = function(){
      //关闭定时器
   clearInterval(timer);
      //获取当前的left值
   target = this.offsetLeft;
      //开启定时器
   timer = setInterval(autoCaution,20);   
   }
     //鼠标点击
     aLi[i].onmousedown = function(){
      //清楚所有高亮的文字
      for(var j = 0;j<aLi.length;j++){
       aLi[j].style.color = "#fff"; 
      }
      //当前点击栏变为红色
      this.style.color = "#ccc";
      //提示框
      current = this.offsetLeft;
      caution.style.left = current+"px";      
     }
   }
    //鼠标离开
   oUl.onmouseout = function(){
     //关闭定时器
     clearInterval(timer);
     target = current;
     timer = setInterval(autoCaution,20);
   }
   //缓动动画
   function autoCaution(){   
   leader = leader +(target - leader) /10;
   caution.style.left = leader+"px";
   }
   }
  </script>
 </head>
 <body>
  <div id="box">
  <span id="caution"></span>
  <ul id="list">
  <li>首页</li>
  <li>公司简介</li>
  <li>企业文化</li>
  <li>招贤纳士</li>
  <li>企业论坛</li>
  </ul>
  </div>
 </body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • 微信小程序实现下拉菜单切换效果

    微信小程序实现下拉菜单切换效果

    这篇文章主要为大家详细介绍了微信小程序实现下拉菜单切换效果,筛选条件功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • 什么是JavaScript的防抖与节流

    什么是JavaScript的防抖与节流

    这篇文章主要介绍了什么是JavaScript的防抖与节流,防抖是在频繁触发某一个事件时,一段时间内不再触发该事件后才会去调用对应的回调函数,在设定间隔时间内如果下一次事件被触发, 那么就重新开始定时器,直到事件触发结束,节流看下面文章的具体介绍吧

    2021-12-12
  • 正则中的回溯定义与用法分析【JS与java实现】

    正则中的回溯定义与用法分析【JS与java实现】

    这篇文章主要介绍了正则中的回溯定义与用法,结合实例形式分析了回溯的概念、功能并提供了JS与java实现方法,需要的朋友可以参考下
    2016-12-12
  • eval的两组性能测试数据

    eval的两组性能测试数据

    最近对eval火爆的讨论,教主 @Franky 和 灰大 @otakustay 也给了精彩的数据分析,刚好之前也做过类似的测试,我也跟风凑个热闹,提供两组数据供大家参考
    2012-08-08
  • JavaScript数组对象赋值用法实例

    JavaScript数组对象赋值用法实例

    这篇文章主要介绍了JavaScript数组对象赋值用法,涉及javascript用户交互及针对数组的排序技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • 原生JS实现图片轮播切换效果

    原生JS实现图片轮播切换效果

    这篇文章主要为大家详细介绍了原生JS实现图片轮播切换效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • JS动态显示表格上下frame的方法

    JS动态显示表格上下frame的方法

    这篇文章主要介绍了JS动态显示表格上下frame的方法,涉及javascript中显示表格frame的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 微信小程序实现无缝滚动

    微信小程序实现无缝滚动

    这篇文章主要为大家详细介绍了微信小程序实现无缝滚动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • jsonp跨域及实现百度首页联想功能的方法

    jsonp跨域及实现百度首页联想功能的方法

    这篇文章主要介绍了jsonp跨域及实现百度首页联想功能的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • 微信小程序项目实践之主页tab选项实现

    微信小程序项目实践之主页tab选项实现

    这篇文章主要介绍了微信小程序项目实践之主页tab选项实现,本文通过实例代码相结合的形式给大家介绍的非常详细,需要的朋友可以参考下
    2018-07-07

最新评论