纯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判断字符输入个数(数字英文长度记为1,中文记为2,超过长度自动截取)
Oct 15 Javascript
一个简单的JavaScript数据缓存系统实现代码
Oct 24 Javascript
读jQuery之十一 添加事件核心方法
Jul 31 Javascript
HTML5之lang属性与dir属性的详解
Jun 19 Javascript
javascript 实现字符串反转的三种方法
Nov 23 Javascript
jQuery oLoader实现的加载图片和页面效果
Mar 14 Javascript
Javascript实现网络监测的方法
Jul 31 Javascript
js表单中选择框值的获取及表单的序列化
Dec 17 Javascript
javascript 实现动态侧边栏实例详解
Nov 11 Javascript
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
Aug 16 Javascript
详解JavaScript 中 if / if...else...替换方式
Jul 15 Javascript
Vue实现滑动拼图验证码功能
Sep 15 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版
2006/10/09 PHP
一些PHP写的小东西
2006/12/06 PHP
php出现Cannot modify header information问题的解决方法大全
2008/04/09 PHP
PHP批量生成静态HTML的简单原理和方法
2014/04/20 PHP
php使用session二维数组实例
2014/11/06 PHP
JScript中使用ADODB.Stream判断文件编码的代码
2008/06/09 Javascript
jquery validate在ie8下的bug解决方法
2013/11/13 Javascript
JS 屏蔽按键效果与改变按键效果的示例代码
2013/12/24 Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
2014/10/17 Javascript
自己封装的常用javascript函数分享
2015/01/07 Javascript
7个让JavaScript变得更好的注意事项
2015/01/28 Javascript
javascript简单实现等比例缩小图片的方法
2016/07/27 Javascript
jQuery实现可展开折叠的导航效果示例
2016/09/12 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
Angular.js中下拉框实现渲染html的方法
2017/06/18 Javascript
AngularJS 教程及实例代码
2017/10/23 Javascript
vue router+vuex实现首页登录验证判断逻辑
2018/05/17 Javascript
vue 实现左右拖拽元素并且不超过他的父元素的宽度
2018/11/30 Javascript
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
JS实现横向轮播图(中级版)
2020/01/18 Javascript
[02:22]完美世界DOTA2联赛PWL S3 集锦第一期
2020/12/15 DOTA
用Python实现数据的透视表的方法
2018/11/16 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
python实现猜单词游戏
2020/05/22 Python
Python列表如何更新值
2020/05/27 Python
python如何调用百度识图api
2020/09/29 Python
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
Nike俄罗斯官方网站:Nike RU
2021/03/05 全球购物
《只有一个地球》教学反思
2014/02/14 职场文书
主题党日活动总结
2014/07/08 职场文书
试用期辞职信范文
2015/03/02 职场文书
离职信范本
2015/06/23 职场文书
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python
Python各协议下socket黏包问题原理
2022/04/12 Python