js手动播放图片实现图片轮播效果
本文实例为大家分享了js图片轮播具体实现代码,供大家参考,具体内容如下
一、html代码部分(et.thtml):
<!DOCTYPEhtml> <html> <headlang="en"> <metacharset="UTF-8"> <title></title> <linktype="text/css"rel="stylesheet"href="css/styleet.css"> <scripttype="text/javascript"src="js/system.js"></script> </head> <body> <divid="main"> <divid="top"> <spanid="imgL"class="span1"></span> <imgsrc="images/1.jpg"id="img"data-index="1"alt=""/> <spanid="imgR"class="span2"></span> </div> <divid="bottom"> <imgsrc="images/1.jpg"id="img1"class="focusClass"data-index="1"alt=""/> <imgsrc="images/2.jpg"id="img2"class="initClass"data-index="2"alt=""/> <imgsrc="images/3.jpg"id="img3"class="initClass"data-index="3"alt=""/> <imgsrc="images/4.jpg"id="img4"class="initClass"data-index="4"alt=""/> <imgsrc="images/5.jpg"id="img5"class="initClass"data-index="5"alt=""/> <imgsrc="images/6.jpg"id="img6"class="initClass"data-index="6"alt=""/> <imgsrc="images/7.jpg"id="img7"class="initClass"data-index="7"alt=""/> </div> </div> <scripttype="text/javascript"src="js/et.js"></script> </body> </html>
二、css代码部分(styleet,css):
#mainspan{
width:22px;
height:38px;
position:absolute;
display:inline-block;
cursor:pointer;
background:url("../images/1.png")no-repeat00;
}
.span1{
background-position:00;
left:20px;
top:90px;
}
.span2{
background-position:-22px0;
right:20px;
top:90px;
}
#main{
width:500px;
margin:20pxauto;
text-align:center;
border:solid2pxred;
position:relative;
}
.initClass{
width:50px;
border:solid2px#fff;
margin:10px5px;
}
.focusClass{
width:50px;
border:solid2pxred;
margin:10px5px;
}
三、js代码部分(et.js):
/**
*CreatedbyLuanRecoon2015/8/28.
*/
varslide={
arrImg:newArray('images/1.jpg','images/2.jpg','images/3.jpg','images/4.jpg','images/5.jpg','images/6.jpg','images/7.jpg'),
initClass:'initClass',
focusClass:'focusClass',
index:1,
arrMax:7,
imgMain:'img'
}
slide.top={
//导航事件
navEvent:function(){
//上部分大图片显示累加后下标对应的图片
$$(slide.imgMain).src=slide.arrImg[slide.index-1];
//根据焦点下标值组合成导航图片名称
varn='img'+slide.index;
//执行对应导航图片单击事件
$$(n).click();
},
//处理页面上一部分的逻辑
clickRight:function(){
//点击向右按钮处理事件
console.log(slide.index);
//当下标小于或等于最大图片数量时
if(slide.index<slide.arrMax){
//累加当前下标值
slide.index++;
slide.top.navEvent();
}
},
clickLeft:function(){
//点击向右按钮处理事件
console.log(slide.index);
//当下标小于或等于最大图片数量时
if(slide.index>1){
//累加当前下标值
slide.index--;
slide.top.navEvent();
}
}
}
slide.bottom={
initImgClass:function(){
//初始化全部对不图片的样式
for(vari=1;i<=slide.arrMax;i++){
varn='img'+i;
$$(n).className=slide.initClass;
}
},
click:function(){
//处理页面下一部分的逻辑
$$('imgL').onclick=function(){
slide.top.clickLeft();
}
$$('imgR').onclick=function(){
slide.top.clickRight();
}
//获取所有底部的小图片
for(vari=1;i<=slide.arrMax;i++){
//为每一张图片绑定点击事件
varn='img'+i;
$$(n).onclick=function(){
//初始化全部样式
slide.bottom.initImgClass();
//图片元素本身获取焦点样式
this.className=slide.focusClass;
//在上部图片中显示点击小图片对应的大图片
$$(slide.imgMain).src=slide.arrImg[this.getAttribute('data-index')-1];
//重新记录焦点图片在数组中的对应下标位置
slide.index=this.getAttribute('data-index');
}
}
}
}
slide.autoplay={
play:function(){
varm=1;
//for(vari=1;i<=slide.arrMax;i++){
setInterval(function(){
varn='img'+m;
m++;
$$(n).click();
if(m>6)
m=1;
},1000)
//}
}
}
slide.autoplay.play();
slide.bottom.click();
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。