纯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 相关文章推荐
js静态作用域的功能。
Dec 25 Javascript
JavaScript DOM 学习第二章 编辑文本
Feb 19 Javascript
js 赋值包含单引号双引号问题的解决方法
Feb 26 Javascript
jquery插件冲突(jquery.noconflict)解决方法分享
Mar 20 Javascript
jQuery页面加载初始化常用的三种方法
Jun 04 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
Aug 23 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
Feb 16 Javascript
javaScript中的原型解析【推荐】
May 05 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
Mar 04 Javascript
使用命令行工具npm新创建一个vue项目的方法
Dec 27 Javascript
vue.js打包之后可能会遇到的坑!
Jun 03 Javascript
JS通过ajax + 多列布局 + 自动加载实现瀑布流效果
May 30 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
用文本作数据处理
2006/10/09 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
2014/05/23 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
Thinkphp5框架异常处理操作实例分析
2020/06/03 PHP
javascript学习笔记(十) js对象 继承
2012/06/19 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
Bootstrap源码解读模态弹出框(11)
2016/12/28 Javascript
几种tab切换详解
2017/02/03 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
谈谈vue中mixin的一点理解
2017/12/12 Javascript
jQuery实现表单动态添加数据并提交的方法
2018/07/19 jQuery
createObjectURL方法实现本地图片预览
2019/09/30 Javascript
详解Webpack抽离第三方类库以及common解决方案
2020/03/30 Javascript
python结合API实现即时天气信息
2016/01/19 Python
Python HTTP客户端自定义Cookie实现实例
2017/04/28 Python
python实现百度语音识别api
2018/04/10 Python
python实现写数字文件名的递增保存文件方法
2018/10/25 Python
python批量修改文件夹及其子文件夹下的文件内容
2019/03/15 Python
python与C、C++混编的四种方式(小结)
2019/07/15 Python
Python实现代码统计工具
2019/09/19 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
keras 实现轻量级网络ShuffleNet教程
2020/06/19 Python
Python使用正则表达式实现爬虫数据抽取
2020/08/17 Python
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
理肤泉加拿大官网:La Roche-Posay加拿大
2018/07/06 全球购物
包装类的功能、种类、常用方法
2012/01/27 面试题
opencv实现图像几何变换
2021/03/24 Python
体育教育专业自荐信范文
2013/12/20 职场文书
计算机专业求职信
2014/06/02 职场文书
跳蚤市场口号
2014/06/13 职场文书
销售简历自我评价怎么写
2014/09/26 职场文书
军训新闻稿范文
2015/07/17 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
2016年“七一建党节”广播稿
2015/12/18 职场文书
OpenCV-Python模板匹配人眼的实例
2021/06/08 Python