本文实例为大家分享了JS实现滑动导航效果的具体代码,供大家参考,具体内容如下<!docty
本文实例为大家分享了JS实现滑动导航效果的具体代码,供大家参考,具体内容如下
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
* {
padding: 0;
margin: 0;
}
ul {
list-style-type: none;
height: 42px;
position: absolute;
}
img {
vertical-align: middle;
}
li,
a {
cursor: pointer;
}
a {
text-decoration: none;
color: #000000;
display: block;
}
li {
width: 83px;
height: 42px;
/*background-color: pink;*/
float: left;
text-align: center;
line-height: 42px;
}
.box {
position: relative;
width: 530px;
height: 42px;
border: 1px solid deepskyblue;
margin: 100px auto;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
}
.box img#cloud {
width: 83px;
height: 42px;
position: absolute;
left: 0;
top: 0;
}
.box img#xinhao {
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
}
</style>
</head>
<body>
<div class="box" id="box">
<img id="cloud" src="images/cloud.gif" alt="" />
<ul id="ull">
<li><a href="#">长沙校区</a></li>
<li><a href="#">长沙校区</a></li>
<li><a href="#">长沙校区</a></li>
<li><a href="#">长沙校区</a></li>
<li><a href="#">长沙校区</a></li>
<li><a href="#">长沙校区</a></li>
</ul>
<img id="xinhao" src="images/rss.png" alt="" />
</div>
<script src="js/common.js"></script>
<script src="js/changespead.js"></script>
<script>
//获取每一个li
var list=my$('ull').children;
console.log(list);
//获取到筋斗云图片
var im=my$('cloud');
//获取图片的宽度
var imgWidth=im.offsetWidth;
console.log(imgWidth);
for(var i=0;i<list.length;i++){
//设置index值用来储存移动的距离
list[i].setAttribute('index',i);
//遍历所有li,每个li绑定三个时间指向同一个函数f1
list[i].onmouseover=f1;
list[i].onmouseout=f1;
list[i].onclick=f1;
//实现函数f1
function f1(e){
switch(e.type) {
case 'mouseover':
//获取当前li的index值
index=this.getAttribute('index');
//调用变速移动函数
movecs(im,imgWidth*index);
break;
case 'click':
index=this.getAttribute('index');
//点击之后固定
im.style.left=imgWidth*index+'px';
//点击了其中一个li之后的操作,移开鼠标之后不会弹回去
this.onmouseout=false;
for(var k=0;k<list.length;k++){
list[k].setAttribute('jndex',k);
list[k].onmouseover=function(){
jndex=this.getAttribute('jndex');
movecs(im,imgWidth*jndex);
};
list[k].onmouseout=function(){
movecs(im,imgWidth*index);
};
}
break;
case 'mouseout':
index=0;
movecs(im,imgWidth*index);
break;
}
}
}
/*list[i].onmouseover=function(){
index=this.getAttribute('index');
console.log(index);
movecs(im,imgWidth*index);
};
list[i].onmouseout=function(){
index=0;
// im.style.left='0px';
movecs(im,imgWidth*index);
};
list[i].onclick=function(){
index=this.getAttribute('index');
im.style.left=imgWidth*index+'px';
alert(index);
};*/
</script>
</body>
</html>
最终效果如下:云彩跟随鼠标移动,点击固定
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
js 滑动 导航