纯JS实现弹性导航条效果


Posted in Javascript onMarch 06, 2017

效果图:

纯JS实现弹性导航条效果

代码如下:

<!doctype html>
<html>
<head>
 <meta charset="UTF-8">
 <title>Title</title>
<style>
*{margin:0; padding:0; list-style:none;}
ul{ overflow:hidden; background:#ccc; width:574px; margin:100px auto; position:relative;}
ul li{ float:left; width:80px; height:40px; text-align:center; line-height:40px; border:1px solid #000; position:relative; z-index:2;}
#block_box{ position:absolute; top:0; left:0; background:#399; z-index:1;}
</style>
<script>
var left = 0;
var iSpeed = 0;
function move(obj,iTarget){
 clearInterval(obj.timer);
 obj.timer = setInterval(function(){
 iSpeed+=(iTarget-left)/5;
 iSpeed*=0.75;
 left+=iSpeed;
 obj.style.left = left+'px';
 if(Math.round(iSpeed)==0&&Math.round(left)==iTarget){
  clearInterval(obj.timer);
 }
 },30);
}
window.onload = function(){
 var aLi = document.getElementsByTagName('li');
 var oBlock = document.getElementById('block_box');
 var iNow = 0;
 for(var i=0;i<aLi.length-1;i++){
 ;(function(index){
  aLi[i].onmouseover = function(){
  //oBlock.style.left = index*aLi[0].offsetWidth+'px';
  move(oBlock,index*aLi[0].offsetWidth);
  };
  aLi[i].onmouseout = function(){
  //oBlock.style.left = 0;
  move(oBlock,iNow*aLi[0].offsetWidth);
  };
  aLi[i].onclick = function(){
  iNow=index;
  };
 })(i);
 }
};
</script>
</head>
<body>
<ul>
 <li>首页</li>
 <li>CSS课程</li>
 <li>JS课程</li>
 <li>HTML5课程</li>
 <li>视频教程</li>
 <li>课程案例</li>
 <li>联系方式</li>
 <li id="block_box"></li>
</ul>
</body>
</html>

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

Javascript 相关文章推荐
use jscript Create a SQL Server database
Jun 16 Javascript
javascript for循环设法提高性能
Feb 24 Javascript
js下通过getList函数实现分页效果的代码
Sep 17 Javascript
JQuery扩展插件Validate 3通过参数设置错误信息
Sep 05 Javascript
Extjs407 getValue()和getRawValue()区别介绍
May 21 Javascript
JavaScript中的console.time()函数详细介绍
Dec 29 Javascript
使用jQuery实现返回顶部
Jan 26 Javascript
JavaScript多并发问题如何处理
Oct 28 Javascript
一个极为简单的requirejs实现方法
Oct 20 Javascript
详解javascript常用工具类的封装
Jan 30 Javascript
es6数组includes()用法实例分析
Apr 18 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
Aug 03 Javascript
JS实现颜色动态淡化效果
Mar 06 #Javascript
vue模板语法-插值详解
Mar 06 #Javascript
js中的面向对象入门
Mar 06 #Javascript
jQuery插件FusionCharts实现的2D面积图效果示例【附demo源码下载】
Mar 06 #Javascript
Vue 2.x教程之基础API
Mar 06 #Javascript
jQuery实现获取h1-h6标题元素值的方法
Mar 06 #Javascript
一道面试题引发的对javascript类型转换的思考
Mar 06 #Javascript
You might like
destoon出现验证码不显示时的紧急处理方法
2014/08/22 PHP
PHP+Javascript实现在线拍照功能实例
2015/07/18 PHP
PHP读取PPT文件的方法
2015/12/10 PHP
深入理解PHP之OpCode原理详解
2016/06/01 PHP
PHP控制前台弹出对话框的实现方法
2016/08/21 PHP
ExtJS4 Grid改变单元格背景颜色及Column render学习
2013/02/06 Javascript
jQuery中html()方法用法实例
2014/12/25 Javascript
jquery+javascript编写国籍控件
2015/02/12 Javascript
深入理解js promise chain
2016/05/05 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
2016/09/17 Javascript
node通过npm写一个cli命令行工具
2017/10/12 Javascript
JavaScript中import用法总结
2019/01/20 Javascript
JS实现数组删除指定元素功能示例
2019/06/05 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
2019/06/24 Javascript
node中使用log4js4.x版本记录日志的方法
2019/08/20 Javascript
微信小程序vant弹窗组件的实现方式
2020/02/21 Javascript
[56:42]完美世界DOTA2联赛循环赛 Matador vs Forest 第二场 11.06
2020/11/06 DOTA
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
Python中格式化format()方法详解
2017/04/01 Python
Django中create和save方法的不同
2019/08/13 Python
Python 通过截图匹配原图中的位置(opencv)实例
2019/08/27 Python
使用Pandas的Series方法绘制图像教程
2019/12/04 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
2020/01/03 Python
如何基于Python pygame实现动画跑马灯
2020/11/18 Python
深入探究HTML5的History API
2015/07/09 HTML / CSS
美国珠宝网上商店:Jeulia
2016/09/01 全球购物
英国浴室洗脸盆购物网站:Click Basin
2018/06/08 全球购物
什么是数据抽象
2016/11/26 面试题
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
心碎乌托邦的创业计划书范文
2013/12/26 职场文书
小学岗位竞聘方案
2014/01/22 职场文书
《七颗钻石》教学反思
2014/02/28 职场文书
阅兵口号
2014/06/19 职场文书
成事在人观后感
2015/06/16 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书
八年级作文之感恩
2019/11/22 职场文书