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 相关文章推荐
jQuery live
May 15 Javascript
js模拟点击事件实现代码
Nov 06 Javascript
jQuery简单入门示例之用户校验demo示例
Jul 09 Javascript
轻松实现js弹框显示选项
Sep 13 Javascript
js阻止冒泡和默认事件(默认行为)详解
Oct 20 Javascript
Vue-resource实现ajax请求和跨域请求示例
Feb 23 Javascript
jQuery EasyUI结合zTree树形结构制作web页面
Sep 01 jQuery
js断点调试心得分享(必看篇)
Dec 08 Javascript
JS 使用 window对象的print方法实现分页打印功能
May 16 Javascript
详解处理bootstrap4不支持远程静态框问题
Jul 20 Javascript
微信小程序ibeacon三点定位详解
Oct 31 Javascript
详解ES6 扩展运算符的使用与注意事项
Nov 12 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连接SQLServer2005的实现方法(附ntwdblib.dll下载)
2012/07/02 PHP
discuz免激活同步登入代码修改方法(discuz同步登录)
2013/12/24 PHP
php实现微信公众平台账号自定义菜单类
2014/12/02 PHP
php获取文件名后缀常用方法小结
2015/02/24 PHP
php实现递归抓取网页类实例
2015/04/03 PHP
PHP5.4起内置web服务器使用方法
2016/08/09 PHP
Laravel 5.5 的自定义验证对象/类示例代码详解
2017/08/29 PHP
javascript字符串拼接的效率问题
2010/12/25 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
深入理解javascript动态插入技术
2013/11/12 Javascript
JS实现关键字搜索时的相关下拉字段效果
2014/08/05 Javascript
Node.js文件操作详解
2014/08/16 Javascript
JavaScript获取网页表单action属性的方法
2015/04/02 Javascript
jQuery手机拨号界面特效代码分享
2015/08/27 Javascript
javascript中arguments,callee,caller详解
2016/03/16 Javascript
JS实现响应鼠标点击动画渐变弹出层效果代码
2016/03/25 Javascript
jQuery实现的自定义弹出层效果实例详解
2016/09/04 Javascript
微信小程序 教程之模块化
2016/10/17 Javascript
AngularJS解决ng界面长表达式(ui-set)的方法分析
2016/11/07 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
2018/12/09 Javascript
javascript实现动态时钟的启动和停止
2020/07/29 Javascript
[03:09]2014DOTA2国际邀请赛 Mushi前队友送上祝福
2014/07/12 DOTA
python使用matplotlib模块绘制多条折线图、散点图
2020/04/26 Python
对python添加模块路径的三种方法总结
2018/10/16 Python
Python3批量移动指定文件到指定文件夹方法示例
2019/09/02 Python
高级3D打印市场:Gambody
2019/12/26 全球购物
宏碁西班牙官网:Acer西班牙
2021/01/08 全球购物
英文简历自荐信范文
2013/12/11 职场文书
学生党员的自我评价范文
2014/03/01 职场文书
综合内勤岗位职责
2014/04/14 职场文书
市政工程技术专业自荐书
2014/07/06 职场文书
工作说明书格式
2014/07/29 职场文书
店长岗位职责
2015/02/11 职场文书
三八妇女节寄语
2015/02/27 职场文书
处罚决定书范文
2015/06/24 职场文书