制作网页里的图片轮播特效
的有关信息介绍如下:网页里比较常见的一种特效就是图片轮播,今天就来教大家自己来编写一个最简单的图片轮播特效。
新建项目文件夹如下图所示
编写index.html文件,代码如下:
lunbo
编写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文件的图片截图如下 运行效果截图如下: