纯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统计复选框选中示例
Nov 05 Javascript
JQuery伸缩导航练习示例
Nov 13 Javascript
Jquery 实现checkbox全选方法
Jan 28 Javascript
JavaScript的jQuery库中ready方法的学习教程
Aug 14 Javascript
基于jquery实现页面滚动时顶部导航显示隐藏
Apr 20 Javascript
微信小程序技巧之show内容展示,上传文件编码问题
Jan 23 Javascript
Bootstrap的popover(弹出框)在append后弹不出(失效)
Feb 27 Javascript
Vue之Watcher源码解析(2)
Jul 19 Javascript
windows下更新npm和node的方法
Nov 30 Javascript
vue - vue.config.js中devServer配置方式
Oct 30 Javascript
JavaScript中的惰性载入函数及优势
Feb 18 Javascript
微信小程序文章详情功能完整实例
Jun 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
PHP-FPM之Chroot执行环境详解
2015/08/03 PHP
mysql desc(DESCRIBE)命令实例讲解
2016/09/24 PHP
浅谈ThinkPHP中initialize和construct的区别
2017/04/01 PHP
Yii框架实现的验证码、登录及退出功能示例
2017/05/20 PHP
js left,right,mid函数
2008/06/10 Javascript
!DOCTYPE声明对JavaScript的影响分析
2010/04/12 Javascript
jquery中dom操作和事件的实例学习-表单验证
2011/11/30 Javascript
javascript返回顶部效果(自写代码)
2013/01/06 Javascript
JS远程获取网页源代码实例
2013/09/05 Javascript
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
JavaScript中操作Mysql数据库实例
2015/04/02 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
Bootstrap实现提示框和弹出框效果
2017/01/11 Javascript
基本DOM节点操作
2017/01/17 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
2017/09/20 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
2017/11/22 Javascript
总结js函数相关知识点
2018/02/27 Javascript
angularJS自定义directive之带参方法传递详解
2018/10/09 Javascript
Bootstrap的aria-label和aria-labelledby属性实例详解
2018/11/02 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
基于JS实现视频上传显示进度条
2020/05/12 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
Python help()函数用法详解
2014/03/11 Python
python实现下载文件的三种方法
2017/02/09 Python
用Python登录好友QQ空间点赞的示例代码
2017/11/04 Python
利用Python如何批量更新服务器文件
2018/07/29 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
2019/08/06 Python
pytorch模型预测结果与ndarray互转方式
2020/01/15 Python
python中的垃圾回收(GC)机制
2020/09/21 Python
浅析python函数式编程
2020/09/26 Python
俄罗斯珠宝市场的领导者之一:Бронницкий ювелир
2019/10/02 全球购物
学生会招新策划书
2014/02/14 职场文书
出生公证书
2015/01/23 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书