纯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 相关文章推荐
utf8的编码算法 转载
Dec 27 Javascript
用js获取电脑信息(是使用与IE浏览器)
Jan 15 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
Sep 06 Javascript
浅谈Javascript的静态属性和原型属性
May 07 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
May 20 Javascript
JavaScript转换与解析JSON方法实例详解
Nov 24 Javascript
浅谈angularjs中响应回车事件
Apr 24 Javascript
实例讲解javascript实现异步图片上传方法
Dec 05 Javascript
vue移动端下拉刷新和上拉加载的实现代码
Sep 08 Javascript
vue的keep-alive中使用EventBus的方法
Apr 23 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
Aug 12 Javascript
javascript Canvas动态粒子连线
Jan 01 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
php中计算时间差的几种方法
2009/12/31 PHP
laravel自定义分页效果
2017/07/23 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
PHP利用Mysql锁解决高并发的方法
2018/09/04 PHP
firefox浏览器下javascript 拖动层效果与原理分析代码
2007/12/04 Javascript
jQuery库与其他JS库冲突的解决办法
2010/02/07 Javascript
JS简单的轮播的图片滚动实例
2013/06/17 Javascript
Javscript删除数组中指定元素并返回新数组
2014/03/06 Javascript
javascript中的nextSibling使用陷(da)阱(keng)
2014/05/05 Javascript
ie 7/8不支持trim的属性的解决方案
2014/05/23 Javascript
jQuery背景插件backstretch使用指南
2015/04/21 Javascript
jQuery往textarea中光标所在位置插入文本的方法
2015/06/26 Javascript
javascript实现网页背景烟花效果的方法
2015/08/06 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
Vue2(三)实现子菜单展开收缩,带动画效果实现方法
2019/04/28 Javascript
JS获取动态添加元素的方法详解
2019/07/31 Javascript
vue+element导航栏高亮显示的解决方式
2019/11/12 Javascript
python读写ini文件示例(python读写文件)
2014/03/25 Python
简单学习Python time模块
2016/04/29 Python
详解Python函数作用域的LEGB顺序
2016/05/14 Python
基于ID3决策树算法的实现(Python版)
2017/05/31 Python
安装Python的教程-Windows
2017/07/22 Python
机器学习的框架偏向于Python的13个原因
2017/12/07 Python
Python多线程应用于自动化测试操作示例
2018/12/06 Python
python实现批量文件重命名
2019/10/31 Python
HTML5注册页面示例代码
2014/03/27 HTML / CSS
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
我的中国梦演讲稿400字
2014/08/19 职场文书
2014幼儿园教师师德师风演讲稿
2014/09/10 职场文书
2014大四本科生自我鉴定总结
2014/10/04 职场文书
期末个人总结范文
2015/02/13 职场文书
南京南京观后感
2015/06/02 职场文书
「SHOW BY ROCK!!」“雫シークレットマインド”组合单曲MV公开
2022/03/21 日漫
基于docker安装zabbix的详细教程
2022/06/05 Servers