本文實例為大家分享了js圖片輪播具體實現代碼,供大家參考,具體內容如下
一、html代碼部分(et.thtml):
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<link type="text/css" rel="stylesheet" href="css/styleet.css">
<script type="text/javascript" src="js/system.js"></script>
</head>
<body>
<div id="main">
<div id="top">
<span id="imgL" class="span1"></span>
<img src="images/1.jpg" id="img" data-index="1" alt=""/>
<span id="imgR" class="span2"></span>
</div>
<div id="bottom">
<img src="images/1.jpg" id="img1" class="focusClass" data-index="1" alt=""/>
<img src="images/2.jpg" id="img2" class="initClass" data-index="2" alt=""/>
<img src="images/3.jpg" id="img3" class="initClass" data-index="3" alt=""/>
<img src="images/4.jpg" id="img4" class="initClass" data-index="4" alt=""/>
<img src="images/5.jpg" id="img5" class="initClass" data-index="5" alt=""/>
<img src="images/6.jpg" id="img6" class="initClass" data-index="6" alt=""/>
<img src="images/7.jpg" id="img7" class="initClass" data-index="7" alt=""/>
</div>
</div>
<script type="text/javascript" src="js/et.js"></script>
</body>
</html>
二、css代碼部分(styleet,css):
#main span{
width: 22px;
height: 38px;
position: absolute;
display: inline-block;
cursor: pointer;
background: url("../images/1.png") no-repeat 0 0;
}
.span1{
background-position: 0 0;
left:20px;
top: 90px;
}
.span2{
background-position: -22px 0;
right: 20px;
top: 90px;
}
#main{
width: 500px;
margin: 20px auto;
text-align: center;
border: solid 2px red;
position: relative;
}
.initClass{
width: 50px;
border: solid 2px #fff;
margin: 10px 5px;
}
.focusClass{
width: 50px;
border: solid 2px red;
margin: 10px 5px;
}
三、js代碼部分(et.js):
/**
* Created by LuanReco on 2015/8/28.
*/
var slide={
arrImg:new Array('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];
//根據焦點下標值組合成導航圖片名稱
var n='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(var i=1;i<=slide.arrMax;i++){
var n='img'+i;
$$(n).className=slide.initClass;
}
},
click:function(){
//處理頁面下一部分的邏輯
$$('imgL').onclick=function(){
slide.top.clickLeft();
}
$$('imgR').onclick=function(){
slide.top.clickRight();
}
//獲取所有底部的小圖片
for(var i=1;i<=slide.arrMax;i++){
//為每一張圖片綁定點擊事件
var n='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(){
var m=1;
//for(var i=1;i<=slide.arrMax;i++){
setInterval(function(){
var n='img'+m;
m++;
$$(n).click();
if(m>6)
m=1;
},1000)
//}
}
}
slide.autoplay.play();
slide.bottom.click();
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。