纯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 相关文章推荐
Javascript入门学习资料收集整理篇
Jul 06 Javascript
js实现的切换面板实例代码
Jun 17 Javascript
使用POST方式弹出窗口的两种方法示例介绍
Jan 29 Javascript
jQuery中element选择器用法实例
Dec 29 Javascript
jQuery团购倒计时特效实现方法
May 07 Javascript
简介AngularJS中$http服务的用法
Feb 06 Javascript
纯JS代码实现一键分享功能
Apr 20 Javascript
文本框只能输入数字的js代码(含小数点)
Jul 10 Javascript
js中遍历Map对象的方法
Jul 27 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
May 11 Javascript
jquery根据name取得select选中的值实例(超简单)
Jan 25 jQuery
p5.js入门教程之小球动画示例代码
Mar 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
Adodb的十个实例(清晰版)
2006/12/31 PHP
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
解密ThinkPHP3.1.2版本之模块和操作映射
2014/06/19 PHP
PHP.vs.JAVA
2016/04/29 PHP
CodeIgniter生成静态页的方法
2016/05/17 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
关于JavaScript的一些看法
2009/05/27 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
JS.getTextContent(element,preformatted)使用介绍
2013/09/21 Javascript
浅谈JavaScript的事件
2015/02/27 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
JavaScript实现基于Cookie的存储类实例
2015/04/10 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
Javascript基础回顾之(二) js作用域
2017/01/31 Javascript
纯JS实现图片验证码功能并兼容IE6-8(推荐)
2017/04/19 Javascript
vue.js移动端app实战1:初始配置详解
2017/07/24 Javascript
vue语法之拼接字符串的示例代码
2017/10/25 Javascript
微信、QQ、微博、Safari中使用js唤起App
2018/01/24 Javascript
js实现点击按钮复制文本功能
2020/07/20 Javascript
Angular模版驱动表单的使用总结
2018/05/05 Javascript
Node.js使用cookie保持登录的方法
2018/05/11 Javascript
React全家桶环境搭建过程详解
2018/05/18 Javascript
jquery实现拖拽小方块效果
2020/12/10 jQuery
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
Python单例模式实例分析
2015/01/14 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
2017/04/19 Python
使用python+whoosh实现全文检索
2019/12/09 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
HTML5 placeholder(空白提示)属性介绍
2013/08/07 HTML / CSS
教师求职推荐信范文
2013/11/20 职场文书
爱心捐助倡议书
2014/05/19 职场文书
商务经理岗位职责
2014/08/03 职场文书
小学领导班子对照材料
2014/08/23 职场文书
工程项目经理岗位职责
2015/02/02 职场文书
老人节主持词
2015/07/04 职场文书