制作网页里的图片轮播特效

  • 原创
  • |
  • 浏览:40341
  • |
  • 更新:

网页里比较常见的一种特效就是图片轮播,今天就来教大家自己来编写一个最简单的图片轮播特效。

制作网页里的图片轮播特效

工具/原料

  • html+css+js基础、notepadd编辑器或者记事本或者其他任意一款网页编辑器
  • 几张张长方形美图和2个小图标

方法/步骤

  1. 1

    新建项目文件夹如下图所示

    制作网页里的图片轮播特效
  2. 2

    编写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>

    制作网页里的图片轮播特效
  3. 3

    编写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;}

    制作网页里的图片轮播特效
  4. 4

    编写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();

    }

    制作网页里的图片轮播特效
  5. 4
    该信息未经授权抓取自百度经验
  6. 5

    images文件的图片截图如下

    制作网页里的图片轮播特效
  7. 6

    运行效果截图如下:

    制作网页里的图片轮播特效
    END

注意事项

  • 图片可以自己在网上找替换的和我的名字一样就行
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部