zoukankan      html  css  js  c++  java
  • jQuery实现淡入淡出轮播图带左右按钮及下方小圆点

    2017新年,我的第一个工作日,对于jQuery掌握不成熟的我写了一个轮播图,鼓励我在新的一年加油工作,掌握新的知识。

    轮播图有自动播放功能,左右按钮切换图片,还有下方小圆点也可点击切换图片。

    代码写的不够成熟,请各位看官指出不足,共同进步(*^__^*)。

    html代码

     1 <body>
     2         <div class="carousel">
     3             <!--左侧按钮-->
     4             <button class="left"><<</button>
     5             <ul id="carousel">
     6                 <li id="item1">
     7                     <img src="img/img1.jpg" />
     8                 </li>
     9                 <li id="item2">
    10                     <img src="img/img2.jpg" />
    11                 </li>
    12                 <li id="item3">
    13                     <img src="img/img3.jpg" />
    14                 </li>
    15             </ul>
    16             <!--下方小圆点-->
    17             <div class="dot"><span class="active"></span><span></span><span></span></div>
    18             <!--右侧按钮-->
    19             <button class="right">>></button>
    20         </div>
    21     </body>

    jQuery代码,记得引入js库,

     1 <script>
     2             
     3             $(function(){
     4                 var items = $('#carousel').children();
     5                 var len = items.length;
     6                 var index = 0;
     7                 var str = 0;
     8                 var dots =  $('.dot').children();
     9                 /*var dotsChild = $('.dot span');*/
    10                 
    11                 //自动播放函数autoPlay()
    12                 
    13                 function autoPlay(){
    14                     $(items[index]).fadeIn(1000);
    15                     
    16                     function play(){
    17                         $(dots).removeClass("active");
    18                         if(index >=0 & index < len-1){
    19                             $(items[index]).fadeOut(1500);
    20                             index++;
    21                             $(items[index]).fadeIn(1500);
    22                             $(dots[index]).addClass("active");
    23                         }else{
    24                             $(items[index]).fadeOut(1500);
    25                             index=0;
    26                             $(items[index]).fadeIn(1500);
    27                             $(dots[index]).addClass("active");
    28                         };
    29                         str = index;
    30                     }
    31                     
    32                     setInterval(play,7000);
    33                     
    34                 }
    35                 autoPlay();
    36                 
    37                 //点击左侧按钮的函数
    38                 $(".left").click(function(){
    39                     $(dots).removeClass("active");
    40                     if(str == 0){
    41                         $(items[str]).fadeOut(1500);
    42                         str = len-1;
    43                         $(items[str]).fadeIn(1500);
    44                         $(dots[str]).addClass("active");
    45                         index = str;
    46                         
    47                     }else{
    48                         $(items[str]).fadeOut(1500);
    49                         str --;
    50                         $(items[str]).fadeIn(1500);
    51                         $(dots[str]).addClass("active");
    52                         index = str;
    53                     }
    54                 });
    55                 //点击右侧按钮的函数
    56                 $(".right").click(function(){
    57                     $(dots).removeClass("active");
    58                     if(str == len-1){
    59                         $(items[str]).fadeOut(1500);
    60                         str = 0;
    61                         $(items[str]).fadeIn(1500);
    62                         $(dots[str]).addClass("active");
    63                         index = str;
    64                     }else{
    65                         $(items[str]).fadeOut(1500);
    66                         str ++;
    67                         $(items[str]).fadeIn(1500);
    68                         $(dots[str]).addClass("active");
    69                         index = str;
    70                     }
    71                 })
    72                 //小圆点
    73                 $(".dot span").click(function(){
    74                     var num = $(this).index();
    75                     $(dots).removeClass("active");
    76                     $(dots[num]).addClass("active");
    77                     $(items).fadeOut(1500);
    78                     $(items[num]).fadeIn(1500);
    79                     index = num;
    80                 })
    81             });
    82         </script>

    css代码:

     1 .carousel{
     2     width: 800px;
     3     margin: auto;
     4     position: relative;
     5 }
     6 
     7 .carousel ul{
     8     margin: 0;
     9     padding: 0;
    10     position: relative;
    11     width: 800px;
    12     height: 500px;
    13     
    14 }
    15 .carousel ul li{
    16     list-style: none;
    17     float: left;
    18     position: absolute;
    19     top: 0;
    20     left: 0;
    21     display: none;
    22 }
    23 #item1{
    24     z-index: 3;
    25 }
    26 #item2{
    27     z-index: 2;
    28 }
    29 #item3{
    30     z-index: 1;
    31 }
    32 /*向左向右的按钮*/
    33 .left,.right{
    34     position: absolute;
    35     top: 200px;
    36     z-index: 10;
    37     width: 30px;
    38     height: 30px;
    39     border: none;
    40     background: #000;
    41     color: #fff;
    42     text-align: center;
    43     padding: 0;
    44     opacity: 0.1;
    45     cursor: pointer;
    46 }
    47 .left{
    48     left: 0;
    49 }
    50 .right{
    51     right: 0;
    52 }
    53 .left:hover,.right:hover{
    54     opacity:1;
    55 }
    56 /*圆点*/
    57 .dot{
    58     width: 800px;
    59     bottom: 0;
    60     height: 30px;
    61     position: absolute;
    62     text-align: center;
    63     z-index: 10;
    64 }
    65 .dot span{
    66     display: inline-block;
    67     width: 12px;
    68     height: 12px;
    69     border-radius: 50px;
    70     background: #fff;
    71     margin: 0 15px 0 0 ;
    72     cursor: pointer;
    73 }
    74 .dot .active{
    75     background: #f00 !important;
    76 }
  • 相关阅读:
    nginx下pagespeed使用详解
    letsencrypt证书-使用certbot申请wildcard证书
    letsencrypt证书-管理工具certbot
    tcpdump使用
    elasticsearch增删改查操作
    elasticsearch安装中文分词器
    dragstart drag dragend dragenter dragover dragleave drop
    js如何准确获取当前页面url网址信息
    /touch滑屏事件
    监听 手机back键和顶部的回退
  • 原文地址:https://www.cnblogs.com/lxgandlz/p/6378782.html
Copyright © 2011-2022 走看看