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 相关文章推荐
取得一定长度的内容,处理中文
Dec 20 Javascript
jQuery操作select的实例代码
Jun 14 Javascript
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
Aug 22 Javascript
jquery表单验证使用插件formValidator
Nov 10 Javascript
没有document.getElementByName方法
Aug 19 Javascript
Javascript常用小技巧汇总
Jun 24 Javascript
JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)
Dec 03 Javascript
轻松掌握JavaScript中的Math object数学对象
May 26 Javascript
微信小程序 用户数据解密详细介绍
Jan 09 Javascript
js实现tab选项卡切换功能
Jan 13 Javascript
详谈js中数组(array)和对象(object)的区别
Feb 27 Javascript
vue 弹出遮罩层样式实例
Jul 22 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
图象函数中的中文显示
2006/10/09 PHP
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
PHP 实现explort() 功能的详解
2013/06/20 PHP
php实现图片以base64显示的方法
2016/10/13 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
2019/02/14 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
2019/04/10 PHP
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
跨浏览器的事件对象介绍
2012/06/27 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
node.js Web应用框架Express入门指南
2014/05/28 Javascript
JavaScript数据结构与算法之栈详解
2015/03/12 Javascript
基于Three.js插件制作360度全景图
2016/11/29 Javascript
JS实现页面内跳转的简单代码
2017/09/03 Javascript
VUE2实现事件驱动弹窗示例
2017/10/21 Javascript
webpack实现一个行内样式px转vw的loader示例
2018/09/13 Javascript
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
2019/09/16 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
vue el-tree 默认展开第一个节点的实现代码
2020/05/15 Javascript
npm ci命令的基本使用方法
2020/09/20 Javascript
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
python将文本转换成图片输出的方法
2015/04/28 Python
python常用函数详解
2016/09/13 Python
详解Python下载图片并保存本地的两种方式
2019/05/15 Python
python Django 创建应用过程图示详解
2019/07/29 Python
keras打印loss对权重的导数方式
2020/06/10 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
日本卡普空电视游戏软件公司官方购物网站:e-CAPCOM
2018/07/17 全球购物
流行文化收藏品:Sideshow(DC漫画,星球大战,漫威)
2019/03/17 全球购物
公司财务自我评价分享
2013/12/17 职场文书
一岗双责责任书
2014/04/15 职场文书
一年级语文上册复习计划
2015/01/17 职场文书
毕业生自荐信范文
2015/03/05 职场文书
2015年计算机教学工作总结
2015/07/22 职场文书
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
2021/06/11 Python
Django+Nginx+uWSGI 定时任务的实现方法
2022/01/22 Python