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 相关文章推荐
htm调用JS代码
Mar 15 Javascript
Jquery实战_读书笔记2 选择器
Jan 22 Javascript
JavaScript知识点总结(五)之Javascript中两个等于号(==)和三个等于号(===)的区别
May 31 Javascript
微信小程序链接传参并跳转新页面
Nov 29 Javascript
jQuery实现多张图片上传预览(不经过后端处理)
Apr 29 jQuery
Vue路由跳转问题记录详解
Jun 15 Javascript
老生常谈javascript的面向对象思想
Aug 22 Javascript
Vue仿手机qq的实例代码(demo)
Sep 08 Javascript
Vue使用vux-ui自定义表单验证遇到的问题及解决方法
May 10 Javascript
微信小程序tabBar 返回tabBar不刷新页面
Jul 25 Javascript
原生js滑动轮播封装
Jul 31 Javascript
JS高级程序设计之class继承重点详解
Jul 07 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和js交互一例-PHP教程,PHP应用
2007/01/03 PHP
MySQL修改密码方法总结
2008/03/25 PHP
php array_intersect比array_diff快(附详细的使用说明)
2011/07/03 PHP
PHP连接局域网MYSQL数据库的简单实例
2013/08/26 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
2016/03/18 PHP
php实现PDO中捕获SQL语句错误的方法
2017/02/16 PHP
thinkphp5.1框架模板赋值与变量输出示例
2020/05/25 PHP
JavaScript 输入框内容格式验证代码
2010/02/11 Javascript
jquery-easyui关闭tab自动切换到前一个tab
2010/07/29 Javascript
jquery按回车提交数据的代码示例
2013/11/05 Javascript
javascript读取xml实现javascript分页
2013/12/13 Javascript
javascript内置对象arguments详解
2014/03/16 Javascript
JS小游戏之极速快跑源码详解
2014/09/25 Javascript
灵活的理解JavaScript中的this指向
2016/02/25 Javascript
JS作用域深度解析
2016/12/29 Javascript
Vue.js与 ASP.NET Core 服务端渲染功能整合
2017/11/16 Javascript
Python3基础之list列表实例解析
2014/08/13 Python
python数组复制拷贝的实现方法
2015/06/09 Python
详解Python中的__getitem__方法与slice对象的切片操作
2016/06/27 Python
Python使用PDFMiner解析PDF代码实例
2017/03/27 Python
浅谈Django中的数据库模型类-models.py(一对一的关系)
2018/05/30 Python
tensorflow对图像进行拼接的例子
2020/02/05 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
2020/02/27 Python
俄语地区最大的中国商品在线购物网站之一:Umka Mall
2019/11/03 全球购物
英国经济型酒店品牌:Travelodge
2019/12/17 全球购物
会计助理岗位职责
2014/02/17 职场文书
师德师风个人反思
2014/04/28 职场文书
企业演讲稿范文大全
2014/05/20 职场文书
七夕活动策划方案
2014/08/16 职场文书
关于国庆节的演讲稿
2014/09/05 职场文书
协议书范文
2015/01/27 职场文书
2015年学校消防安全工作总结
2015/10/14 职场文书
小学班主任心得体会
2016/01/07 职场文书
Go 语言下基于Redis分布式锁的实现方式
2021/06/28 Golang
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技