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 相关文章推荐
用JavaScript显示随机图像或引用
Apr 21 Javascript
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
Jul 29 Javascript
实例讲解JQuery中this和$(this)区别
Dec 08 Javascript
JavaScript中的object转换成number或string规则介绍
Dec 31 Javascript
jQuery中prevAll()方法用法实例
Jan 08 Javascript
JavaScript实现基于十进制的四舍五入实例
Jul 17 Javascript
微信小程序 出现47001 data format error原因解决办法
Mar 10 Javascript
微信小程序使用canvas的画图操作示例
Jan 18 Javascript
vue实现短信验证码登录功能(流程详解)
Dec 10 Javascript
vue仿淘宝滑动验证码功能(样式模仿)
Dec 10 Javascript
JavaScript简易计算器制作
Jan 17 Javascript
JavaScript实现优先级队列
Dec 06 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也可以?成Shell Script
2006/10/09 PHP
PHP分页显示制作详细讲解
2006/10/09 PHP
php中一个完整表单处理实现代码
2011/11/10 PHP
PHP中文件缓存转内存缓存的方法
2011/12/06 PHP
PHP小教程之实现链表
2014/06/09 PHP
PHP实现的杨辉三角求解算法分析
2019/03/11 PHP
二级域名转向类
2006/11/09 Javascript
Add Formatted Text to a Word Document
2007/06/15 Javascript
jquery监听div内容的变化具体实现思路
2013/11/04 Javascript
JavaScript执行顺序详细介绍
2013/12/04 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
用v-html解决Vue.js渲染中html标签不被解析的问题
2016/12/14 Javascript
详解jQuery中基本的动画方法
2016/12/14 Javascript
JS库中的Particles.js在vue上的运用案例分析
2017/09/13 Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
2018/03/22 Javascript
Vue中 key keep-alive的实现原理
2018/09/18 Javascript
JavaScript实现的级联算法示例【省市二级联动功能】
2018/12/25 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
小程序按钮避免多次调用接口和点击方案实现(不用showLoading)
2020/04/15 Javascript
python基础教程之自定义函数介绍
2014/08/29 Python
python中使用序列的方法
2015/08/03 Python
python 实时遍历日志文件
2016/04/12 Python
python实现unicode转中文及转换默认编码的方法
2017/04/29 Python
Flask框架Jinjia模板常用语法总结
2018/07/19 Python
Python wxPython库Core组件BoxSizer用法示例
2018/09/03 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
2018/10/09 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
2019/08/05 Python
ASP.NET Core中的配置详解
2021/02/05 Python
css3教程之倾斜页面
2014/01/27 HTML / CSS
英国版MAC彩妆品牌:Illamasqua
2018/04/18 全球购物
写给爸爸的道歉信
2014/01/15 职场文书
2014社区三八妇女节活动总结
2014/03/01 职场文书
中学优秀班主任事迹材料
2014/05/01 职场文书
经济纠纷起诉状
2015/05/20 职场文书
2016年中秋节慰问信
2015/12/01 职场文书
vue实力踩坑之push当前页无效
2022/04/10 Vue.js