简单的轮播图效果

Posted bookstorespirit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单的轮播图效果相关的知识,希望对你有一定的参考价值。

 1 <style type="text/css">
 2             * 
 3                 margin: 0;
 4                 padding: 0;
 5             
 6             body 
 7                 display: flex;
 8                 flex-direction: column;
 9                 align-items: center;
10             
11             #bigbox 
12                 display: flex;
13                 margin-top:100px;
14             
15             #box 
16                 width: 383px;
17                 height: 383px;
18             
19             #left,#right 
20                 padding-top: 150px;
21             
22             #link 
23                 margin-top: 20px;
24             
25             a 
26                 display: inline-block;
27                 width: 30px;
28                 height: 30px;
29                 border-radius: 50%;
30                 box-shadow: 2px 2px 1px #A9A9A9,-2px -1px 1px #EEEEEE;
31                 margin-right: 5px;
32             
33             #p 
34                 margin-top: 50px;
35                 display: flex;
36             
37             #p p
38                 text-align: center;
39                 display: flex;
40                 flex-direction: column;
41                 margin: 10px;
42                 height: 110px;
43             
44             #p p img 
45                 margin: auto;
46                 width: 80px;
47                 height: 80px;
48             
49             .bottom 
50                 border-bottom: 5px solid red;
51             
52             .red 
53                 background-color: red;
54             
55             #mouseimg 
56                 width: 60px;
57                 height: 60px;
58                 position: absolute;
59             
60         </style>
 1 <body>
 2         <div id="p">
 3             <p class="bottom"><img src="img/1__03.jpg">当前在第一张</p>
 4             <p><img src="img/1__11.jpg">当前在第二张</p>
 5             <p><img src="img/1__07.jpg">当前在第三张</p>
 6             <p><img src="img/1__09.jpg">当前在第四张</p>
 7         </div>
 8         <div id="bigbox">
 9             <div id="left">
  1     var left=my$("left");
 1 function my$(id)
 2     return document.getElementById(id);
 3 
 4 function randmon(max,min)
 5     return Math.round(Math.random()*(max-min)+min);
 6 
 7 
 8 //获取随机色
 9 function getRadomclass()
10     var r=Math.round(Math.random()*255);
11     var g=Math.round(Math.random()*255);
12     var b=Math.round(Math.random()*255);
13     document.body.style.backgroundColor="rgb("+r+","+g+","+b+")";
14 
15 
16 
17 //获取当前img下标
18 function getNindex()
19     for(var i=0;i<arr.length;i++)
20         if(img.src==arr[i])
21             return i;
22         
23     
24 
25 
26 // 修改p标签和a标签的class名
27 function Nindex(Nindex)
28     for(var i=0;i<links.length;i++)
29         links[i].setAttribute("class","");
30         simg[i].setAttribute("class","");
31     
32     links[Nindex].setAttribute("class","red");
33     simg[Nindex].setAttribute("class","bottom");
34 
35 
36 
37 function attendant()
38     var mouseimg=document.getElementById(‘mouseimg‘)
39         document.onmousemove=function(e)
40             e=e || window.event;
41             mouseimg.style.left=e.pageX+20+‘px‘;
42             mouseimg.style.top=e.pageY-30+‘px‘;
43             
44 

 

  2         var right=my$("right");
  3         var box=my$("box");
  4         var oimg=my$("img");
  5         var p=my$("p");
  6         //获取a标签集合
  7         var links=document.querySelectorAll("#link a");
  8         //获取p标签集合
  9         var simg=document.querySelectorAll("#p p");
 10         // 定义空数组,用来存放a标签的href地址
 11         var arr=[];
 12         
 13         // 给body设置延时属性
 14         document.body.style.transition=‘all 1s‘;
 15     
 16         //将a标签的href地址放入数组    
 17         for(var i=0;i<links.length;i++)
 18             arr[i]=links[i].href
 19         
 20         // console.log(arr)
 21         
 22         
 23         //小圆点事件
 24         //遍历a标签所在的links集合
 25         for(var i=0;i<links.length;i++)
 26             // 取到每一个小圆点(a标签)
 27             var link=links[i];
 28             //点击事件
 29             link.onclick=function()
 30                 // 将当前正在被点击的a的href赋值给img标签
 31                 // this:事件源,指被点击的a
 32                 oimg.src=this.href;
 33                 //调用函数,改变背景色
 34                 getRadomclass();
 35                 //调用函数,获取当前显示的a标签的数组下标
 36                 getNindex();
 37                 var index=getNindex();
 38                 //调用函数,且实参为当前img标签下标值
 39                 Nindex(index);
 40                 //取消a标签的默认跳转行为
 41                 return false;
 42                     
 43         
 44         
 45         
 46         //上一张
 47         left.onclick=function()
 48             //调用函数,改变背景色
 49             getRadomclass();
 50             //调用函数,获取当前显示的a标签的数组下标
 51             getNindex();
 52             var index=getNindex();
 53             // 判断:
 54             //     如果当前下标为0,则跳转到最后一张,即下标为arr.length-1
 55             //     如果不为0,则跳转到上一张,即下标为index-1;
 56             if(index==0)
 57                 img.src=arr[arr.length-1]
 58                 index=arr.length-1;
 59             else
 60                 img.src=arr[index-1];
 61                 index--;
 62             
 63             //调用函数,且实参为当前img标签下标值
 64             Nindex(index);
 65         
 66         
 67         
 68         //下一张
 69         right.onclick=function()
 70             //调用函数,改变背景色
 71             getRadomclass();
 72             //调用函数,获取当前显示的a标签的数组下标
 73             getNindex();
 74             var index=getNindex();
 75             // 判断:
 76             //     如果当前下标为最后一张图片的下标,则跳转到第一张,即下标为index为0
 77             //     如果不为最后一张,则跳转到下一张,即下标为index+1;
 78             if(index==arr.length-1)
 79                 img.src=arr[0];
 80                 index=0;
 81             else
 82                 img.src=arr[index+1];
 83                 index++;
 84             
 85             //调用函数,且实参为当前img标签下标值
 86             Nindex(index);
 87         
 88         
 89         
 90         // function功能与下一张一致
 91         // setInterval():每隔s毫秒执行一次,
 92         // setTimeout():s毫秒后执行
 93         // 格式:
 94         //         setInterval(function()
 95 
 96         //                ,)
 97         // 定时器,每隔5秒切换一次
 98         var timeid= setInterval(function()
 99             // clearInterval(timeid);
100             getRadomclass();
101             getNindex();
102             var index=getNindex();
103             if(index==arr.length-1)
104                 img.src=arr[0];
105                 index=0;
106             else
107                 img.src=arr[index+1];
108                 index++;
109             
110             Nindex(index);
111         ,3000)
112         
113         
114         
115         attendant()

 

10                 <img src="img/left.png" >
11             </div>
12             <div id="box">
13                 <img src="img/1__03.jpg" id="img">
14             </div>
15             <div id="right">
16                 <img src="img/right.png" >
17             </div>        
18         </div>
19         <div id="link">
20             <a href="img/1__03.jpg" class="red"></a>
21             <a href="img/1__11.jpg"></a>
22             <a href="img/1__07.jpg"></a>
23             <a href="img/1__09.jpg"></a>
24         </div>
25         <img src="img/71_4.jpg" id="mouseimg">
26     </body>

 

以上是关于简单的轮播图效果的主要内容,如果未能解决你的问题,请参考以下文章

简单的轮播图效果

使用css3实现简单的轮播图效果

使用css3实现简单的轮播图效果

使用css3实现简单的轮播图效果

用jQuery写的轮播图

js实现左右切换轮播图思路