js实现带简单弹性运动的导航条


Posted in Javascript onFebruary 22, 2017

晚上跟着视频敲了下 弹性菜单的代码,先记下来

效果如下:

js实现带简单弹性运动的导航条

代码如下:

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <style>
 *{
  margin:0;
  padding:0;
 }
 .ul1{
  width:450px;
  height:30px;
  margin:20px auto;
  position:relative;
 }
 li{
  list-style:none;
  line-height:30px;
  height:30px;
  width:100px;
  color:orange;
  text-align:center;
  float:left;
  margin-right:5px;
  border:1px soli #000;
  background-color:red;
 }
 .mark{
  position:absolute;
  left:0;
  top:0;
  overflow:hidden;
 }
 .mark ul{
  width:450px;
  position:absolute;
  left:0;
  top:0;
 }
 .mark ul li{
  color:#fff;
  background-color:deepskyblue;
 }
 </style>
</head>
<body>
<ul class="ul1">
 <li class="mark">
 <ul>
  <li>首页</li>
  <li>论坛</li>
  <li>视频</li>
  <li>课程</li>
 </ul>
 </li>
 <li class="box">首页</li>
 <li class="box">论坛</li>
 <li class="box">视频</li>
 <li class="box">课程</li>
</ul>
</body>
<script>
 window.onload = function(){
 var oMark = document.querySelector('.mark');
 var oBox = document.querySelectorAll('.box');
 var childUl = oMark.querySelector('ul');
 var timer = null;
 var timer2 = null;//延迟定时器,100毫秒人的眼睛是察觉不出来的
 var iSpeed = 0;
 for (var i=0;i<oBox.length;i++){
  oBox[i].onmouseover = function(){
  clearTimeout(timer2);
  startMove(this.offsetLeft);
  };
  oBox[i].onmouseout = function(){
  timer2 = setTimeout(function(){
   startMove(0);
  },100);

  };
 }
 oMark.onmouseover = function(){
  clearTimeout(timer2);
 };
 oMark.onmouseout= function(){
  timer2 = setTimeout(function(){
  startMove(0);
  },100);
 };
 function startMove(iTarget){
  clearInterval(timer);
  timer = setInterval(function(){
  iSpeed += (iTarget -oMark.offsetLeft)/5;
  iSpeed *= 0.75;
  if(Math.abs(iSpeed)<=1 && Math.abs(iTarget -oMark.offsetLeft)<=1){
   clearInterval(timer);
   oMark.style.left = iTarget + 'px';
   childUl.style.left = -iTarget + 'px';
   iSpeed = 0;
  }else {
   oMark.style.left = oMark.offsetLeft + iSpeed +'px';
   childUl.style.left = -oMark.offsetLeft +'px';
  }
  },30);
 };
 };
</script>
</html>

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

Javascript 相关文章推荐
jQuery遍历Table应用示例
Apr 09 Javascript
谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
Oct 01 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
Oct 30 Javascript
微信小程序的动画效果详解
Jan 18 Javascript
jQuery实现搜索页面关键字的功能
Feb 16 Javascript
高效的jQuery代码编写技巧总结
Feb 22 Javascript
JavaScript异步上传图片文件的实例代码
Jul 04 Javascript
微信小程序实现图片上传、删除和预览功能的方法
Dec 18 Javascript
Vue源码解析之Template转化为AST的实现方法
Dec 14 Javascript
JS实现可用滑块滑动的缓动图代码
Sep 01 Javascript
小程序表单认证布局及验证详解
Jun 19 Javascript
echarts饼图各个板块之间的空隙如何实现
Dec 01 Javascript
bootstrap fileinput 插件使用项目总结(经验)
Feb 22 #Javascript
javascript 网页进度条简单实例
Feb 22 #Javascript
详解闭包解决jQuery中AJAX的外部变量问题
Feb 22 #Javascript
js实现PC端根据IP定位当前城市地理位置
Feb 22 #Javascript
纯JS实现轮播图
Feb 22 #Javascript
javascript 操作cookies详解及实例
Feb 22 #Javascript
jquery实现手机端单店铺购物车结算删除功能
Feb 22 #Javascript
You might like
使用PHP模拟HTTP认证
2006/10/09 PHP
PHP与MySQL开发中页面出现乱码的一种解决方法
2007/07/29 PHP
PHP在特殊字符前加斜杠的实现代码
2011/07/17 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
2015/12/10 PHP
tp5框架无刷新分页实现方法分析
2019/09/26 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
javascript 字符串连接的性能问题(多浏览器)
2008/11/18 Javascript
jQuery JSON的解析方式分享
2011/04/05 Javascript
如何将JS的变量值传递给ASP变量
2012/12/10 Javascript
javascript垃圾收集机制与内存泄漏详细解析
2013/11/11 Javascript
jQuery实现折线图的方法
2015/02/28 Javascript
js实现搜索框关键字智能匹配代码
2020/03/26 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
2016/01/26 Javascript
JS获取元素多层嵌套思路详解
2016/05/16 Javascript
seajs学习教程之基础篇
2016/10/20 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
关于JavaScript 数组你应该知道的事情(推荐)
2019/04/10 Javascript
vue props 单项数据流实例分享
2020/02/16 Javascript
Python实现视频下载功能
2017/03/14 Python
python基础之入门必看操作
2017/07/26 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
2018/01/10 Python
tensorflow实现简单的卷积网络
2018/05/24 Python
使用python语言,比较两个字符串是否相同的实例
2018/06/29 Python
Python定义二叉树及4种遍历方法实例详解
2018/07/05 Python
Python opencv实现人眼/人脸识别以及实时打码处理
2019/04/29 Python
Python适配器模式代码实现解析
2019/08/02 Python
phpquery中文手册
2021/03/18 PHP
美国二手奢侈品寄售网站:TheRealReal
2016/10/29 全球购物
JavaScript实现前端网页版倒计时
2021/03/24 Javascript
教师简历自我评价
2014/02/03 职场文书
医学专业毕业生推荐信
2014/07/12 职场文书
2014年9.18纪念日演讲稿
2014/09/14 职场文书
宾馆客房管理制度
2015/08/06 职场文书
小学四年级作文之人物作文
2019/11/06 职场文书
python使用pymysql模块操作MySQL
2021/06/16 Python
「地球外少年少女」BD发售宣传CM公开
2022/03/21 日漫