纯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 相关文章推荐
Prototype使用指南之dom.js
Jan 10 Javascript
cookie的复制与使用记住用户名实现代码
Nov 04 Javascript
JavaScript动态修改弹出窗口大小的方法
Apr 06 Javascript
javascript实现校验文件上传控件实例
Apr 20 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
Nov 28 Javascript
滚动条的监听与内容随着滚动条动态加载的实现
Feb 08 Javascript
Javascript实现数组中的元素上下移动
Apr 28 Javascript
Vue2.x中利用@font-size引入字体图标报错的解决方法
Sep 28 Javascript
node.js爬取中关村的在线电瓶车信息
Nov 13 Javascript
微信小程序 拍照或从相册选取图片上传代码实例
Aug 28 Javascript
Element Collapse 折叠面板的使用方法
Jul 26 Javascript
js实现车辆管理系统
Aug 26 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
2020年4月放送!《Princess Connect Re:Dive》制作组 & 角色声优公开!
2020/03/06 日漫
php获取当前月与上个月月初及月末时间戳的方法
2016/12/05 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
2016/12/09 PHP
Node.js生成HttpStatusCode辅助类发布到npm
2013/04/09 Javascript
jQuery Migrate 1.1.0 Released 注意事项
2014/06/14 Javascript
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
2014/11/20 NodeJs
jQuery读取XML文件内容的方法
2015/03/09 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
JQuery插入DOM节点的方法
2015/06/11 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
2016/05/13 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
2016/11/01 Javascript
vue.js或js实现中文A-Z排序的方法
2018/03/08 Javascript
Javascript实现动态时钟效果
2018/11/17 Javascript
js实现点击选项置顶动画效果
2020/08/25 Javascript
编程语言Python的发展史
2014/09/26 Python
浅析Python中的多重继承
2015/04/28 Python
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
将Python的Django框架与认证系统整合的方法
2015/07/24 Python
对django中render()与render_to_response()的区别详解
2018/10/16 Python
python用pandas数据加载、存储与文件格式的实例
2018/12/07 Python
Python 确定多项式拟合/回归的阶数实例
2018/12/29 Python
Pytorch: 自定义网络层实例
2020/01/07 Python
python中的垃圾回收(GC)机制
2020/09/21 Python
CSS3 渐变(Gradients)之CSS3 线性渐变
2016/07/08 HTML / CSS
详解Canvas事件绑定
2018/06/27 HTML / CSS
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
美国折扣香水网站:The Perfume Spot
2020/12/12 全球购物
计算机专业应届生求职信
2014/04/06 职场文书
优秀共产党员演讲稿
2014/09/04 职场文书
党支部三会一课计划
2014/09/24 职场文书
迎国庆横幅标语
2014/10/08 职场文书
2014年党建工作总结
2014/11/11 职场文书
2014年计划生育工作总结
2014/11/14 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
房产遗嘱范本
2015/08/06 职场文书