javascript實現(xiàn)圖片輪播簡單效果_第1頁
javascript實現(xiàn)圖片輪播簡單效果_第2頁
javascript實現(xiàn)圖片輪播簡單效果_第3頁
javascript實現(xiàn)圖片輪播簡單效果_第4頁
javascript實現(xiàn)圖片輪播簡單效果_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第javascript實現(xiàn)圖片輪播簡單效果本文實例為大家分享了javascript實現(xiàn)圖片輪播簡單效果的具體代碼,供大家參考,具體內(nèi)容如下

這里是css樣式

*{

margin:0;

padding:0;

}

ul,

li{

list-style:none;

}

img{

display:block;

/*vertical-align:middle;*/

}

a{

text-decoration:none;

}

input{

outline:none;

}

.clearFix:after{

content:"";

display:table;

clear:both;

}

#box{

position:relative;

width:500px;

height:300px;

margin:50pxauto;

overflow:hidden;

}

#box.imglist{

position:absolute;

left:-500px;

top:0;

width:3500px;

height:300px;

}

#box.imglistli{

float:left;

width:500px;

height:300px;

}

#box.imglistliimg{

width:500px;

height:300px;

}

#boxspan{

position:absolute;

top:50%;

transform:translateY(-50%);

width:25px;

height:50px;

background-color:rgba(200,200,200,0.7);

font-size:20px;

text-align:center;

line-height:50px;

color:white;

opacity:0;

transition:opacity1s;

}

#box.left{

left:0;

}

#box.right{

right:0;

}

#box.btnlist{

position:absolute;

left:50%;

transform:translateX(-50%);

bottom:10px;

overflow:hidden;

}

#box.btnlistli{

float:left;

width:10px;

height:10px;

margin-right:10px;

border-radius:50%;

background-color:gray;

}

#box.btnlistli.current{

background-color:red;

}

這里是body里的div,我的圖片都是寬500px的,你也可以改其尺寸的,不過相應的js代碼也要更改

divid="box"

ul

liimgsrc="images/yaya5.jpg"http://li

liimgsrc="images/yaya1.jpg"http://li

liimgsrc="images/yaya2.jpg"http://li

liimgsrc="images/yaya3.jpg"http://li

liimgsrc="images/yaya4.jpg"http://li

liimgsrc="images/yaya5.jpg"http://li

liimgsrc="images/yaya1.jpg"http://li

/ul

span/span

span/span

ul

li/li

li/li

li/li

li/li

li/li

/ul

/div

這里是js代碼,代碼大部分地方都做了注釋

//元素對象

varleft=document.querySelector(".left");

varright=document.querySelector(".right");

varimglist=document.querySelector(".imglist");

varbox=document.querySelector("#box");

vardots=document.querySelectorAll(".btnlistli");

//變量區(qū)

varimgWidth=500;//圖片的寬度

vartime=500;//切換一張圖片耗費的時間

varsteps=50;//步數(shù)

varinterval=10;//定時任務的時間間隔

varcurrent_red=0;

//isMoving變量用于判斷當前是否正在切圖中

varisMoving=false;

//自動輪播定時任務的id值

varautoId;

//鼠標移入時顯示左右箭頭,移出時隱藏左右箭頭

box.addEventListener("mouseenter",function(e){

left.style.opacity=1;

right.style.opacity=1;

//鼠標移入到box時停止輪播

clearInterval(autoId);

});

box.addEventListener("mouseleave",function(e){

left.style.opacity=0;

right.style.opacity=0;

//鼠標移出box時開啟自動輪播

autoMove();

});

//對左右箭頭設(shè)置點擊事件

functionmove(e,direction){

//isMoving為true時表示正在切換圖片,不能再執(zhí)行move函數(shù)的代碼

if(isMoving){

return;

}

isMoving=true;

//獲取當前imglist的位置

varstart_x=imglist.offsetLeft;

varend_x;

//判斷direction的數(shù)據(jù)類型

if(typeofdirection==="number"){

end_x=direction;

vardelta_x=end_x-start_x;

}else{

//通過點擊的箭頭確定圖片移動的距離

vardelta_x=direction==="left"imgWidth:-imgWidth;

//計算要移動到的位置

end_x=start_x+delta_x;

}

//計算每一步移動的距離

varstep_dis=delta_x/steps;

varnext_inter_id=setInterval(function(){

varcurrent_x=imglist.offsetLeft;

current_x+=step_dis;

imglist.style.left=current_x+"px";

//條件成立表示完成了此次圖片的切換,清除定時器

if(current_x===end_x){

//current_x等于0表示此時顯示的是位置上的第一張圖片(第一個li),我們要切換到倒數(shù)第二張去。

if(current_x===0){

imglist.style.left=-2500+"px";

//current_x等于-3000表示此時顯示的是位置上的最后一張(第七個li),我們要切換到第二張圖片去。

}elseif(current_x===-3000){

imglist.style.left=-500+"px";

}

clearInterval(next_inter_id);

//圖片切換完成時切換小圓點,傳入的參數(shù)是此時imglist的left屬性的值

changeDots(current_x);

//圖片切換完成,可以繼續(xù)點擊箭頭或小圓點切圖了

isMoving=false;

}

},interval);

}

right.addEventListener("click",function(e){

move(e,"right");

});

left.addEventListener("click",function(e){

move(e,"left");

});

/*

無限循環(huán)的實現(xiàn)思路:在首尾各添加一張圖片,首部添加第五張圖片,尾部添加第一張圖片

1、改變imglist的寬度

2、改變imglist元素中l(wèi)eft的值

3、在添加兩張圖片后,輪播到第一張和最后一張時實現(xiàn)切換。

*/

//小圓點的切換

functionchangeDots(current_x){

/*

current_x可能的取值:0-500-1000-1500-2000-2500-3000

除以-500:

0

1

2

3

4

5

6

整體減去1:

-1

0

1

2

3

4

5

*/

varindex=current_x/-500-1;

index=index===-14:index===50:index;

//console.log(index);

//把上一個小圓點紅色背景清除

dots[current_red].className="";

//把當前切換到的圖片對應的小圓點添加紅色背景

dots[index].className="current";

/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論