网页制作是如何实现图片切换的?

 我来答
和蔼的曾海永
2018-03-10 · TA获得超过8830个赞
知道小有建树答主
回答量:108
采纳率:100%
帮助的人:3.1万
展开全部
  • 新建项目文件夹如下图所示

  • 编写index.html文件,代码如下:

    <DOCTYPE html>

    <html>

    <head>

    <meta charset="utf-8" />

    <title>

    lunbo

    </title>

    <link href="css/style.css" rel="stylesheet"/>

    <script src="js/lunbo.js">

    </script>

    </head>

    <body>

    <div id="container">

    <div id="list" style="left:-600px;">

    <img src="images/5.jpg" alt="5.pg"/>

    <img src="images/1.jpg" alt="5.pg"/>

    <img src="images/2.jpg" alt="5.pg"/>

    <img src="images/3.jpg" alt="5.pg"/>

    <img src="images/4.jpg" alt="5.pg"/>

    <img src="images/5.jpg" alt="5.pg"/>

    <img src="images/1.jpg" alt="5.pg"/>

    </div>

    <div id="buttons">

    <span index="1"class="on"> </span>

    <span index="2"></span>

    <span index="3"></span>

    <span index="4"></span>

    <span index="5"></span>

    </div>

    <a href="javascript:;" class="arrow" id="prev">&lt;</a>

    <a href="javascript:;" class="arrow" id="next">&gt;</a>

    </div>

    </body>

    </html>

  • 编写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<buttons.length;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)<newleft)){

    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.length;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文件的图片截图如下

  • 运行效果截图如下:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式