JavaScript 动画之tab切换
来源:互联网 发布:马龙职业生涯数据 编辑:程序博客网 时间:2024/05/11 20:27
弹性公式
速度+=(目标值-oDiv.offsetLeft)/5
速度*=0.7
例子
仿官网导航条效果
无法到达指定位置——小数误差问题
如何解决?速度无法取整,使用变态办法——变量
弹性菜单
弹性运动的问题:运动过界
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><style>* { padding: 0; margin: 0; }li { list-style: none; }ul { width: 400px; height: 30px; position: relative; margin: 100px auto 0; }li { float: left; width: 98px; height: 28px; line-height: 28px; border: 1px solid #ccc; text-align: center; z-index: 2; position: relative; cursor: pointer; }.bg { width: 100px; height: 5px; overflow: hidden; background: red; border: none; position: absolute; top: 24px; left: 0; z-index: 1; }</style><script type="text/javascript">window.onload=function (){ var oUl=document.getElementById('ul1'); var aLi=oUl.getElementsByTagName('li'); var oBg=aLi[aLi.length-1]; var i=0; for(i=0;i<aLi.length-1;i++) { aLi[i].onmouseover=function () { startMove(oBg, this.offsetLeft); }; }};var iSpeed=0;var left=0;function startMove(obj, iTarget){ clearInterval(obj.timer); obj.timer=setInterval(function (){ iSpeed+=(iTarget-obj.offsetLeft)/5; iSpeed*=0.7; left+=iSpeed; if(Math.abs(iSpeed)<1 && Math.abs(left-iTarget)<1) { clearInterval(obj.timer); obj.style.left=iTarget+'px'; //alert('关了'); } else { obj.style.left=left+'px'; } document.title=iSpeed; }, 30);}</script></head><body><ul id="ul1"> <li>首页</li> <li>关于我们</li> <li>产品</li> <li>联系方式</li> <li class="bg"></li></ul></body></html>
参考:JavaScript 动画
阅读全文
0 0
- JavaScript 动画之tab切换
- jquery动画之tab切换
- JavaScript学习笔记2之Tab切换
- JavaScript 动画之图片切换
- jQuery笔记之动画以及tab的切换
- javascript tab切换
- JavaScript - Tab切换效果
- Javascript实现Tab切换
- JavaScript Tab切换
- JavaScript tab切换
- 【JavaScript实现Tab切换】
- Tab切换--JavaScript基础
- javaScript—tab切换
- Ext之Tab切换
- javascript实现tab菜单切换
- javascript 小练习-tab切换
- javaScript实例:tab切换效果
- JavaScript——Tab切换
- pat 甲级 1019
- jni中 YV12转ARGB 与 NV21转ARGB
- SolidWorks设计PCB 3D模型展示
- 计算机网络读书笔记
- 关于后台线程的简单介绍
- JavaScript 动画之tab切换
- pat 甲级 1023-1026
- LintCode之22 平面列表
- Linux(七)
- 算法-爬楼梯
- linux指令
- 超声波测距-Arduino
- 解决Pycharm无法导入包问题 Unresolved reference
- caffe学习系列:网络融合