一个html+css+js的轮播图片 -- 仅供参考

  好久没打网页程序了,标签和css 之类都忘的跟空白一样,花几天时间把丢掉的东西给捡起来。  

  附上 html+css+js 代码

html:

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 5 <title>轮播图片</title>
 6 <link href="css/css.css" rel="stylesheet" type="text/css" />
 7 <script src="js/js.js" type="text/javascript"></script>
 8 </head>
 9
10 <body>
11 <div id="container">
12     <div id="list" style="left: -600px;">
13         <img src="images/5.jpg" alt="1"/>
14         <img src="images/1.jpg" alt="1"/>
15         <img src="images/2.jpg" alt="2"/>
16         <img src="images/3.jpg" alt="3"/>
17         <img src="images/4.jpg" alt="4"/>
18         <img src="images/5.jpg" alt="5"/>
19         <img src="images/1.jpg" alt="5"/>
20     </div>
21     <div id="buttons">
22         <span index ="1" class="on"></span>
23         <span index ="2"></span>
24         <span index ="3"></span>
25         <span index ="4"></span>
26         <span index ="5"></span>
27     </div>
28     <a href="javascript:;" id ="prev" class="arrow">&lt;</a>
29     <a href="javascript:;" id ="next" class="arrow">&gt;</a>
30 </div>
31 </body>
32 </html>

CSS:

 1 /* CSS Document */
 2 /*
 3     图片轮播效果
 4 */
 5 *{ margin:0; padding:0; text-decoration:none;}
 6 body{ padding:20px;}
 7
 8 #container{ width:800px; height:400px; /*border: 0px solid #333;*/ overflow:hidden; position:relative;}
 9 #list{ width:5600px; height:400px; position:absolute; z-index: 1;}
10 #list img{ float: left; width:800px; height:400px;}
11 #buttons { position:absolute; height:10px; width:100px; z-index: 2; bottom: 20px; left:250px;}
12 #buttons span{ cursor:pointer; float:left; border: 1px solid #FFF; width:10px ; height:10px; border-radius: 50% ; background:#333; margin-right: 5px;}
13 #buttons .on{ background:orangered;}
14 .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:#CCC; color:#fff;}
15 .arrow:hover { background-color:#F90;}
16 #container:hover .arrow{ display: block;}
17 #prev{ left: 20px;}
18 #next{ right: 20px; }

JS:

  1 // JavaScript Document
  2
  3  window.onload = function(){
  4      var container = document.getElementById(‘container‘);
  5      var list = document.getElementById(‘list‘);
  6      var buttons = document.getElementById(‘buttons‘).getElementsByTagName(‘span‘);
  7      var prev = document.getElementById(‘prev‘);
  8      var next = document.getElementById(‘next‘);
  9      var index = 1;    /*控制圆点*/
 10      var animated = false;    /*控制动画*/
 11      var timer;
 12
 13      /*显示按钮*/
 14      function showButton(){
 15          for(var i = 0; i < buttons.length; i++){
 16              if(buttons[i].className == ‘on‘){
 17                  buttons[i].className = ‘‘;
 18                  break;
 19              }
 20          }
 21          buttons[index -1].className = ‘on‘;
 22      }
 23      /*实现轮播*/
 24      function animate(offset){
 25          animated = true;    /*开始动画*/
 26          var newLeft = parseInt(list.style.left) + offset;
 27          var time = 700; /*位移总时间*/
 28          var interval = 10; /*位移间隔时间*/
 29          var speed = offset/(time / interval);    /*每次位移量*/
 30
 31          function  go(){
 32              if((speed < 0 && parseInt(list.style.left) > newLeft) || (speed > 0 && parseInt(list.style.left) < newLeft)){
 33                  list.style.left = parseInt(list.style.left) + speed + ‘px‘;
 34                  setTimeout(go, interval);    /*定时器*/
 35              }else{
 36                  animated = false;    /*停止动画*/
 37
 38                  list.style.left = newLeft + ‘px‘;
 39                  /*实现无限轮播*/
 40                  if(newLeft > -800)
 41                  {
 42                      list.style.left = -4000 + ‘px‘;
 43                  }
 44                  if(newLeft < -4000)
 45                  {
 46                      list.style.left = -800 + ‘px‘;
 47                  }
 48              }
 49          }
 50          go();    /*调用自身实现*/
 51      }
 52      /*自动播放*/
 53      function play(){
 54          timer = setInterval(function(){
 55              next.onclick();
 56          },3000);    /*3000相当于3秒*/
 57
 58      }
 59      /*停止自动播放*/
 60      function stop(){
 61          clearInterval(timer);
 62      }
 63      /*鼠标在图外触发自动播放*/
 64      container.onmouseout = play;
 65      /*鼠标在图外触发停止播放*/
 66      container.onmouseover = stop;
 67      /**/
 68      play();
 69
 70
 71      next.onclick = function(){
 72          if(index == 5)
 73          {
 74             index = 1;
 75          }
 76          else {
 77             index += 1;
 78          }
 79          showButton();
 80         if(!animated)
 81         {
 82             animate(800);
 83         }
 84      }
 85      prev.onclick = function()
 86      {
 87          if(index == 1)
 88          {
 89              index = 5;
 90          }
 91          else{
 92              index -= 1;
 93          }
 94          showButton();
 95         if(!animated)
 96         {
 97             animate(-800);
 98         }
 99     }
100
101     /*图片随圆点移动*/
102     for(var i = 0; i < buttons.length; i++)
103     {
104         buttons[i].onclick = function(){
105             if(this.className == ‘on‘)
106             {
107                 return;
108             }
109             var newIndex = parseInt(this.getAttribute(‘index‘));
110             var offset = -800 * (newIndex - index);
111             animate(offset);
112             index = newIndex;
113             showButton();
114          }
115      }
116  }

      

    心情低沉,只因有放不下的东西。感觉很累很累--

时间: 2024-10-10 00:50:37

一个html+css+js的轮播图片 -- 仅供参考的相关文章

基于css和js的轮播效果图实现

基于css和js的轮播效果图实现 第一篇:效果图 1.先啥也不说直接上效果图 第二篇:详细讲解 1.  建立容器  #box 给其设置相关属性(注意:overflow:hidden;) 2.  Box中包括有ul li 以及a标签.在图片描述的时候,确保span所在层置顶. 3. <div class="innerText"> </div> <span class="innerText1">第一辆车</span> 另外

封装一个简单的原生js焦点轮播图插件

轮播图实现的效果为,鼠标移入左右箭头会出现,可以点击切换图片,下面的小圆点会跟随,可以循环播放.本篇文章的主要目的是分享封装插件的思路. 轮播图的我一开始是写成非插件形式实现的效果,后来才改成了封装成插件的形式. 首先要明白轮播图的实现原理和基本布局,大概就是外面有一个容器包裹着(通常是div),容器设置宽高,以及overflow为hidden,超出宽高部分隐藏, 容器里面又包含着另一个容器,包裹着所有的图片,宽为所有图片的总宽度,ul的position为absolute,通过改变ul的left

js实现轮播图效果(附源码)--原生js的应用

1.js实现轮播图效果 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="Author" content="奇客艺术"> <meta name="keyword" content="关键字"> <meta name=

JS原生轮播图

哈喽!我的朋友们,最近有一个新项目.所以一直没更新!有没有想我啊!! 今天咱们来说一下JS原生轮播图! 话不多说: 直接来代码吧:下面是CSS部分: 1 *{ 2 padding: 0px; 3 margin: 0px; 4 } 5 img{ 6 width: 500px; 7 height: 300px; 8 } 9 li{ 10 float: left; 11 } 12 ul{ 13 width: 2000px; 14 list-style: none; 15 position: absol

转向移动webApp开发的前端工程师必要的代码,手机webApp触摸左右滑动切换轮播图片广告

刚进一家新公司,公司专做手机App的,由于公司业务太多,传统的方法开发app成本太高,每个app要开发几个版本,公司有个想法就是做webApp来代替传统app.我是才接触到webApp的美工一枚. 今天给小伙伴们分享一个好东西,webApp轮播效果,支持手机上用手左右滑动的效果,因为手机的触摸事件和PC端用鼠标操作的事件是不同的,所以我就需要针对移动端的设备触摸事件做相应的轮播特效.大家可以去看下易迅的:http://m.yixun.com/t/ 和淘宝的http://m.taobao.com/

原生js简单轮播图 代码

在团队带人,突然被人问到轮播图如何实现,进入前端领域有一年多了,但很久没自己写过,一直是用大牛写的插件,今天就写个简单的适合入门者学习的小教程.当然,轮播图的实现原理与设计模式有很多种,我这里讲的是用面向过程函数式编程去实现,相对于面向对象设计模式,代码难免会显得臃肿冗余.但没有面向对象的抽象却很适合新手理解与学习.已经在BAT的同学看到希望少喷点.另外可以多提意见. 轮播图的原理: 一系列的大小相等的图片平铺,利用CSS布局只显示一张图片,其余隐藏.通过计算偏移量利用定时器实现自动播放,或通过

SuperSlidev2.1 轮播图片和无缝滚动

SuperSlidev2.1 轮播图片和无缝滚动 使用方法点击链接:http://down.admin5.com/demo/code_pop/18/562/index.html 简单使用方法如下 html <div class="bd"><ul><li _src="url(images/1.jpg)" style="background:#E2025E center 0 no-repeat;"><a hr

js实现轮播图

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>轮播图</title> 6 <style type="text/css"> 7 *{ 8 margin: 0; 9 padding:0; 10 } 11 .carousel{ 12 margin:0 aut

js网站轮播图怎么做如何做?鸡哥教你简单制作效果炫酷

日了狗啦,刚刚鸡哥辛苦码了那么多字全丢了又要重新写,这是第二遍写了...今天鸡哥给小白写个不需要写js原生代码,只需要几个插件和一段通俗易懂得jquery代码就能搞定的轮播图,当然js原生代码写着也不算很繁琐,但是有些浪费时间,更何况很多人并不会用js直接写包括鸡哥,当年在学校还是研究过一段时间js的,当时还独自写了一个轮播图俘获了多少同班妹子的芳心,不过现在是基本废了,这东西要常写,不然忘的很快. 唉,本来还有妹子等着鸡哥呢,我这一大意文章丢了,重新写的话估计来不及了,先打个电话让妹子回家吧~