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


Posted in Javascript onJanuary 16, 2017

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

<!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>

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

Javascript 相关文章推荐
不安全的常用的js写法
Sep 15 Javascript
Jquery解析json数据详解
Dec 26 Javascript
Javascript加载速度慢的解决方案
Mar 11 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
Jan 04 Javascript
浅析javascript函数表达式
Feb 10 Javascript
js 连续赋值的简单实现
Jun 13 Javascript
jquery实现ajax加载超时提示的方法
Jul 23 Javascript
Jquery鼠标放上去显示全名的实现方法
Feb 06 Javascript
Node.js+jade抓取博客所有文章生成静态html文件的实例
Sep 19 Javascript
解决vue中post方式提交数据后台无法接收的问题
Aug 11 Javascript
vue实现简单的星级评分组件源码
Nov 16 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
Sep 08 Javascript
jQuery居中元素scrollleft计算方法示例
Jan 16 #Javascript
jQuery使用正则表达式替换dom元素标签用法示例
Jan 16 #Javascript
JavaScript日期选择功能示例
Jan 16 #Javascript
jquery——九宫格大转盘抽奖实例
Jan 16 #Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
Jan 16 #Javascript
Node.js中用D3.js的方法示例
Jan 16 #Javascript
JavaScript实现的select点菜功能示例
Jan 16 #Javascript
You might like
PHP设计模式之调解者模式的深入解析
2013/06/13 PHP
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
jQuery 选择器理解
2010/03/16 Javascript
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
2010/04/14 Javascript
javascript学习笔记(二)数组和对象部分
2014/09/30 Javascript
Node.js中HTTP模块与事件模块详解
2014/11/14 Javascript
微信中一些常用的js方法汇总
2015/03/12 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
js时钟翻牌效果实现代码分享
2020/07/31 Javascript
详解Matlab中 sort 函数用法
2016/03/20 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
基于jQuery实现咖啡订单管理简单应用
2017/02/10 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
angularjs定时任务的设置与清除示例
2017/06/02 Javascript
判断div滑动到底部的scroll实例代码
2017/11/15 Javascript
解决vue打包之后静态资源图片失效的问题
2018/02/21 Javascript
es6函数name属性功能与用法实例分析
2020/04/18 Javascript
js实现小球在页面规定的区域运动
2020/06/16 Javascript
Python 递归函数详解及实例
2016/12/27 Python
利用aardio给python编写图形界面
2017/08/21 Python
Python匿名函数/排序函数/过滤函数/映射函数/递归/二分法
2019/06/05 Python
浅谈python 中类属性共享的问题
2019/07/02 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
Python线程障碍对象Barrier原理详解
2019/12/02 Python
Python while循环使用else语句代码实例
2020/02/07 Python
纯CSS3实现Material Design效果
2017/03/09 HTML / CSS
全球知名旅游社区法国站点:TripAdvisor法国
2016/08/03 全球购物
英国泽西岛植物:Jersey Plants Direct
2019/08/07 全球购物
市场安全管理制度
2014/01/26 职场文书
商务英语专业求职信
2014/06/26 职场文书
学校志愿者活动总结
2014/06/27 职场文书
无犯罪记录证明范本
2014/09/15 职场文书
2015年招商引资工作总结
2015/04/25 职场文书
春节慰问简报
2015/07/21 职场文书
撤回我也能看到!教你用Python制作微信防撤回脚本
2021/06/11 Python
利用JavaScript写一个简单计算器
2021/11/27 Javascript