製作網頁裡的圖片輪播特效?

Tags: 圖片, 網頁, 特效,

網頁裡比較常見的一種特效就是圖片輪播,今天就來教大家自己來編寫一個最簡單的圖片輪播特效。

製作網頁裡的圖片輪播特效

工具/原料

html+css+js基礎、notepadd編輯器或者記事本或者其他任意一款網頁編輯器

幾張張長方形美圖和2個小圖示

方法/步驟

新建專案資料夾如下圖所示

製作網頁裡的圖片輪播特效

編寫index.html檔案,程式碼如下:

</p> <p>lunbo</p> <p>

製作網頁裡的圖片輪播特效

編寫style.css檔案,程式碼如下:

*{ margin:0px; text-decoration:none;}

body{margin-top:50px;}

#container{width:600px; height:400px; position:relative;border:3px solid #333;overflow: hidden; margin:0 auto;}

#list{width:4200px; height:400px; position:absolute; z-index:1;}

#list img{float:left;}

#buttons{position:absolute; height:10px; width:100px; z-index:2; bottom:20px; left:250px;}

#buttons span{cursor:pointer;/*假超連結樣式*/ float:left; border:1px solid #fff; width:10px; height:10px; border-radius:10px; background:#333; margin-right:5px;}

#buttons .on{background:orangered;}

.arrow{cursor:pointer; display:none; line-height:39px; text-align:center; font-size:36px;

font-weight:bold; width:40px; height:40px; position:absolute; z-index:2; top:180px;

background-color: RGBA(0,0,0,.3); color:#fff;}

.arrow:hover{background-color:RGBA(0,0,0,.7);}

#container:hover .arrow{display:block;}

#prev{left:20px;}

#next{right:20px;}

製作網頁裡的圖片輪播特效

編寫control.js檔案程式碼如下

window.onload=function(){

var container=document.getElementById('container');

var list=document.getElementById('list');

var buttons=document.getElementById('buttons').getElementsByTagName('span');

var pre=document.getElementById('prev');

var next=document.getElementById('next');

var index=1;

var animated=false;

var timer;

function showButton(){

for(var i=0;i

if(buttons[i].className=='on'){

buttons[i].className='';

break;

}

}

buttons[index-1].className="on";

}

function animate(offset){

animated=true;

var newleft=parseInt(list.style.left)+offset;

var time=300;//位移總時間

var interval=10;//位移間隔時間

var speed=offset/(time/interval);//每一次的位移量

function go(){

if((speed<0&&parseInt(list.style.left)>newleft) (speed>0&&parseInt(list.style. left)

list.style.left=parseInt(list.style.left)+speed+'px';

setTimeout(go,interval);

}

else{

animated=false;

list.style.left=newleft+'px';

if(newleft>-600){

list.style.left=-3000+'px';

}

if(newleft<-3000){

list.style.left=-600+'px';

}

}

}

go();

}

function play(){

timer=setInterval(function(){

next.onclick();

},3000);

}

function stop(){

clearInterval(timer);

}

next.onclick=function(){

if(index==5){

index=1;

}

else{

index+=1;

}

showButton();

if(animated==false){

animate(-600);

}

}

pre.onclick=function(){

if(index==1){

index=5;

}

else{

index-=1;

}

showButton();

if(animated==false){

animate(600);

}

}

for(var i=0;i

buttons[i].onclick=function(){

if(this.className=='on'){

return;

}

var myIndex=parseInt(this.getAttribute('index'));

var offset=-600*(myIndex-index);

index=myIndex;

showButton();

if(animated==false){

animate(offset);

}

}

}

container.onmouseover=stop;

container.onmouseout=play;

play();

}

製作網頁裡的圖片輪播特效

images檔案的圖片截圖如下

製作網頁裡的圖片輪播特效

執行效果截圖如下:

製作網頁裡的圖片輪播特效

注意事項

圖片可以自己在網上找替換的和我的名字一樣就行

圖片, 網頁, 特效,
相關問題答案