纯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 相关文章推荐
Jquery 最近浏览过的商品的功能实现代码
May 14 Javascript
jQuery 阴影插件代码分享
Jan 09 Javascript
js动态调用css属性的小规律及实例说明
Dec 28 Javascript
jquery队列queue与原生模仿其实现方法分享
Mar 25 Javascript
JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)
Oct 17 Javascript
javascript数组输出的两种方式
Jan 13 Javascript
原生js仿jquery一些常用方法(必看篇)
Sep 20 Javascript
js实现华丽的九九乘法表效果
Mar 29 Javascript
详解vue-router基本使用
Apr 18 Javascript
微信小程序实现顶部选项卡(swiper)
Jun 19 Javascript
Jquery获取radio选中值实例总结
Jan 17 jQuery
小程序登录/注册页面设计的实现代码
May 24 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删除指定目录的方法
2015/04/03 PHP
基于jquery的一个图片hover的插件
2010/04/24 Javascript
JS判断浏览器是否支持某一个CSS3属性的方法
2014/10/17 Javascript
javascript中caller和callee详解
2015/08/10 Javascript
thinkphp实现无限分类(使用递归)
2015/12/19 Javascript
jquery实现具有收缩功能的垂直导航菜单
2016/02/16 Javascript
jQuery Easyui 验证两次密码输入是否相等
2016/05/13 Javascript
jQuery 3.0 的 setter和getter 模式详解
2016/07/11 Javascript
jQuery Select下拉框操作小结(推荐)
2016/07/22 Javascript
详解ECharts使用心得总结
2016/12/06 Javascript
canvas学习之API整理笔记(二)
2016/12/29 Javascript
JS实现旋转木马式图片轮播效果
2017/01/18 Javascript
基于JavaScript 性能优化技巧心得(分享)
2017/12/11 Javascript
Vue.set()实现数据动态响应的方法
2018/02/07 Javascript
如何把vuejs打包出来的文件整合到springboot里
2018/07/26 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
js单线程的本质 Event Loop解析
2019/10/29 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
es6数组之扩展运算符操作实例分析
2020/04/25 Javascript
详解Python中contextlib上下文管理模块的用法
2016/06/28 Python
用pandas中的DataFrame时选取行或列的方法
2018/07/11 Python
centos6.8安装python3.7无法import _ssl的解决方法
2018/09/17 Python
python查看模块,对象的函数方法
2018/10/16 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
2019/04/27 Python
Pandas中resample方法详解
2019/07/02 Python
pytorch 把图片数据转化成tensor的操作
2021/03/04 Python
中学教师教育感言
2014/02/21 职场文书
党建示范点实施方案
2014/03/12 职场文书
竞选部长演讲稿
2014/04/26 职场文书
建材投资建议书
2014/05/16 职场文书
房产公证书样本
2015/01/23 职场文书
集团财务总监岗位职责
2015/04/03 职场文书
小学教育见习总结
2015/06/23 职场文书
2015年小学语文教师工作总结
2015/10/23 职场文书
解析MySQL索引的作用
2022/03/03 MySQL
为Centos安装指定版本的Docker
2022/04/01 Servers