简单的轮播图效果

 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>

猜你喜欢

转载自www.cnblogs.com/BookstoreSpirit/p/11391702.html