js实现带缓动动画的导航栏效果

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

js实现带缓动动画的导航栏效果话不多说,请看实例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style type="text/css">
ul,li { padding: 0; margin: 0; }
li { list-style: none; }
#box{
height: 48px;
width: 900px;
background-color: #459DF5;
margin: 50px auto;
position: relative;
}
#caution {
width: 150px;
height: 48px;
background-color: #4B92D8;
position: absolute;
top: 0;
left: 0;
}
#list {
position: absolute;
}
#list li {
width: 150px;
height: 48px;
float: left;
color: #fff;
font: 500 20px/48px "微软雅⿊";
text-align: center;
cursor: pointer;
}
</style>
<script type="text/javascript">
window.onload = function(){
//获取ul ID
var oUl = document.getElementById("list");
// 获取span ID
var caution = document.getElementById("caution");
//获取ul 所有孩⼦
var aLi = oUl.children;
//定时器管理
var timer = null;
//缓动
var leader = 0;
var target = 0;
//停留
var current = 0;
for(var i = 0;i<aLi.length;i++){
//⿏标移动
aLi[i].onmouseover = function(){
//关闭定时器
clearInterval(timer);
//获取当前的left值
target = this.offsetLeft;
//开启定时器
timer = setInterval(autoCaution,20);
}
//⿏标点击
aLi[i].onmousedown = function(){
//清楚所有⾼亮的⽂字
for(var j = 0;j<aLi.length;j++){
aLi[j].style.color = "#fff";
}
//当前点击栏变为红⾊
this.style.color = "#ccc";
//提⽰框
current = this.offsetLeft;
caution.style.left = current+"px";
}
}
//⿏标离开
oUl.onmouseout = function(){
//关闭定时器
clearInterval(timer);
target = current;
timer = setInterval(autoCaution,20);
}
//缓动动画
function autoCaution(){
leader = leader +(target - leader) /10;
caution.style.left = leader+"px";
}
}
</script>
</head>
<body>
<div id="box">
<span id="caution"></span>
<ul id="list">
<li>⾸页</li>
<li>公司简介</li>
<li>企业⽂化</li>
<li>招贤纳⼠</li>
<li>企业论坛</li>
</ul>
</div>
</body>
</html>
以上就是本⽂的全部内容,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,同时也希望多多⽀持!。

相关文档
最新文档