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 相关文章推荐
javascript(jquery)利用函数修改全局变量的代码
Nov 02 Javascript
javascript 基础篇4 window对象,DOM
Mar 14 Javascript
IE8下String的Trim()方法失效的解决方法
Nov 08 Javascript
js中创建对象的几种方式示例介绍
Jan 26 Javascript
jquery操作复选框checkbox的方法汇总
Feb 05 Javascript
详解JavaScript逻辑And运算符
Dec 04 Javascript
JQuery fileupload插件实现文件上传功能
Mar 18 Javascript
JS基础随笔(菜鸟必看篇)
Jul 13 Javascript
基于Bootstrap框架菜鸟入门教程(推荐)
Sep 17 Javascript
JavaScript寄生组合式继承实例详解
Jan 06 Javascript
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
微信小程序实现批量倒计时功能
Nov 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
phpfans留言版用到的数据操作类和分页类
2007/01/04 PHP
PHP 采集心得技巧
2009/05/15 PHP
php输出金字塔的2种实现方法
2014/12/16 PHP
php实现插入数组但不影响原有顺序的方法
2015/03/27 PHP
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
jquery判断checkbox(复选框)是否被选中的代码
2010/10/20 Javascript
DOM_window对象属性之--clipboardData对象操作代码
2011/02/03 Javascript
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
jQuery支持动态参数将函数绑定到事件上的方法
2015/03/17 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
2016/04/19 Javascript
javascript实现延时显示提示框特效代码
2016/04/27 Javascript
基于zepto.js简单实现上传图片
2016/06/21 Javascript
JavaScript简单获取系统当前时间完整示例
2016/08/02 Javascript
原生JS实现的放大镜效果实例代码
2016/10/15 Javascript
jquery动态赋值id与动态取id方法示例
2017/08/21 jQuery
关于echarts在节点显示动态数据及添加提示文本所遇到的问题
2018/04/20 Javascript
结合Vue控制字符和字节的显示个数的示例
2018/05/17 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
js实现3D粒子酷炫动态旋转特效
2020/09/13 Javascript
Python使用MD5加密算法对字符串进行加密操作示例
2018/03/30 Python
pygame游戏之旅 如何制作游戏障碍
2018/11/20 Python
django使用xadmin的全局配置详解
2019/11/15 Python
Python3 利用face_recognition实现人脸识别的方法
2020/03/13 Python
CSS3圆角和渐变2种常用功能详解
2016/01/06 HTML / CSS
Moda Italia荷兰:意大利男士服装
2019/08/31 全球购物
Piercing Pagoda官网:耳环、戒指、项链、手链等
2020/09/28 全球购物
终端业务员岗位职责
2013/11/27 职场文书
便利店投资的创业计划书
2014/01/12 职场文书
生物学学生自我评价
2014/01/17 职场文书
运动会解说词200字
2014/02/06 职场文书
幼师求职自荐信
2014/05/31 职场文书
建筑结构施工求职信
2014/07/11 职场文书
获奖感言一句话
2015/07/31 职场文书
七年级作文之雪景
2019/11/18 职场文书
导游词之西江千户苗寨
2019/12/24 职场文书
pnpm对npm及yarn降维打击详解
2022/08/05 Javascript