纯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 相关文章推荐
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
May 07 Javascript
很好用的js日历算法详细代码
Mar 07 Javascript
jquery xMarquee实现文字水平无缝滚动效果
Apr 29 Javascript
Javascript基础知识(二)事件
Sep 29 Javascript
JS中三目运算符和if else的区别分析与示例
Nov 21 Javascript
JavaScript的jQuery库中ready方法的学习教程
Aug 14 Javascript
JS中的进制转换以及作用
Jun 26 Javascript
js的各种排序算法实现(总结)
Jul 23 Javascript
详解bootstrap的modal-remote两种加载方式【强化】
Jan 27 Javascript
Vue.js仿Metronic高级表格(一)静态设计
Apr 17 Javascript
vue指令v-html使用过滤器filters功能实例
Oct 25 Javascript
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
Mar 11 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
Terran魔法科技
2020/03/14 星际争霸
Content-type 的说明
2006/10/09 PHP
谈谈新手如何学习PHP
2006/12/14 PHP
ThinkPHP与PHPExcel冲突解决方法
2011/08/08 PHP
php判断GIF图片是否为动画的方法
2020/09/04 PHP
两千行代码的PHP学习笔记汇总
2014/10/05 PHP
php中使用Ajax时出现Error(c00ce56e)的详细解决方案
2014/11/03 PHP
PHP session会话操作技巧小结
2016/09/27 PHP
JavaScript 继承详解(三)
2009/07/13 Javascript
10个实用的脚本代码工具
2010/05/04 Javascript
js正则表达exec与match的区别说明
2014/01/29 Javascript
js 获取当前web应用的上下文路径实现方法
2016/08/19 Javascript
AngularJS 与Bootstrap实现表格分页实例代码
2016/10/14 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
2017/01/20 Javascript
JavaScript制作简易计算器(不用eval)
2017/02/05 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
2018/05/31 Javascript
深入理解Puppeteer的入门教程和实践
2019/03/05 Javascript
vue移动端模态框(可传参)的实现
2019/11/20 Javascript
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
[01:25:33]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第二场 12.20
2020/12/23 DOTA
python抓取网页图片示例(python爬虫)
2014/04/27 Python
Python3.2中的字符串函数学习总结
2015/04/23 Python
Python探索之创建二叉树
2017/10/25 Python
TensorFlow实现checkpoint文件转换为pb文件
2020/02/10 Python
css3 2D图片转动样式可以扩充到Js当中
2014/04/29 HTML / CSS
HTML5 canvas基本绘图之图形组合
2016/06/27 HTML / CSS
网络信息管理员岗位职责
2014/01/05 职场文书
幼儿园秋游活动方案
2014/01/21 职场文书
办公自动化专业大学生职业规划书
2014/03/06 职场文书
餐饮业员工工作决心书
2014/03/11 职场文书
小学优秀班主任事迹材料
2014/05/17 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
小学科学教学计划
2015/01/21 职场文书
感动中国何玥观后感
2015/06/02 职场文书
员工升职自我评价
2019/03/26 职场文书
Python Numpy之linspace用法说明
2021/04/17 Python