纯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取滚动条的尺寸的函数代码
Nov 30 Javascript
jQuery表单获取和失去焦点输入框提示效果的实例代码
Aug 01 Javascript
用JS在浏览器中创建下载文件
Mar 05 Javascript
jquery ztree实现树的搜索功能
Feb 25 Javascript
jquery购物车结算功能实现方法
Oct 29 Javascript
JavaScript下拉菜单功能实例代码
Mar 01 Javascript
微信小程序中的onLoad详解及简单实例
Apr 05 Javascript
原生js封装添加class,删除class的实例
Nov 06 Javascript
JavaScript轮播停留效果的实现思路
May 24 Javascript
Vue运用transition实现过渡动画
May 06 Javascript
uni-app 微信小程序授权登录的实现步骤
Feb 18 Javascript
JS前端可扩展的低代码UI框架Sunmao使用详解
Jul 23 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执行linux系统命令的常用函数使用说明
2010/04/27 PHP
有关phpmailer的详细介绍及使用方法
2013/01/28 PHP
控制PHP的输出:缓存并压缩动态页面
2013/06/11 PHP
字符串长度函数strlen和mb_strlen的区别示例介绍
2014/09/09 PHP
node.js中的dns.getServers方法使用说明
2014/12/08 Javascript
简单掌握JavaScript中const声明常量与变量的用法
2016/05/21 Javascript
原生js的RSA和AES加密解密算法
2016/10/08 Javascript
BootStrap表单验证实例代码
2017/01/13 Javascript
微信小程序实战之轮播图(3)
2017/04/17 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
微信小程序实现表单校验功能
2020/03/30 Javascript
Vue仿今日头条实例详解
2018/02/06 Javascript
vue2.0自定义指令示例代码详解
2019/04/25 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
基于vue实现圆形菜单栏组件
2019/07/05 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
在Python程序中操作文件之isatty()方法的使用教程
2015/05/24 Python
Python多线程、异步+多进程爬虫实现代码
2016/02/17 Python
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
Python从Excel中读取日期一列的方法
2018/11/28 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
pytorch学习教程之自定义数据集
2020/11/10 Python
python中scipy.stats产生随机数实例讲解
2021/02/19 Python
html5跨域通讯之postMessage的用法总结
2013/11/07 HTML / CSS
生物有机护肤品:Aurelia Probiotic Skincare
2018/01/31 全球购物
奇怪的鱼:Weird Fish
2018/03/18 全球购物
怎样声明子类
2013/07/02 面试题
serialVersionUID具有什么样的特征
2014/02/20 面试题
酒店公关部经理岗位职责
2013/11/24 职场文书
女方婚礼新郎答谢词
2014/01/11 职场文书
吸烟检讨书2000字
2014/02/13 职场文书
化学教学随笔感言
2014/02/19 职场文书
《少年王冕》教学反思
2014/04/11 职场文书
服装设计师求职信
2014/06/04 职场文书
党的群众路线教育实践活动党员个人整改措施
2014/10/27 职场文书
学雷锋主题班会教案
2015/08/13 职场文书