zoukankan      html  css  js  c++  java
  • 轮播图

     1 <!DOCTYPE html>
     2 <html lang="zh">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>轮播图</title>
     6     <link rel="stylesheet" type="text/css" href="css/scroll.css">
     7     <style type="text/css">
     8         ul {
     9             margin: 0;
    10             padding: 0;
    11             list-style: none;
    12         }
    13     </style>
    14 </head>
    15 <body>
    16     <div class="scroll">
    17         <div class="scroll-img">
    18             <!-- 1226 * 460 | 613 * 230 -->
    19             <img class="active" src="img/001.jpg" alt="">
    20             <img src="img/002.jpg" alt="">
    21             <img src="img/003.jpg" alt="">
    22             <img src="img/004.jpg" alt="">
    23         </div>
    24         <ul class="scroll-tag">
    25             <li class="active"></li>
    26             <li></li>
    27             <li></li>
    28             <li></li>
    29         </ul>
    30         <div class="scroll-toggle">
    31             <i class="toggle-left">&lt;</i>
    32             <i class="toggle-right">&gt;</i>
    33         </div>
    34     </div>
    35 </body>
    36 <script src="js/scroll.js"></script>
    37 </html>
    scroll.html
     1 <!DOCTYPE html>
     2 <html lang="zh">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>轮播图</title>
     6     <link rel="stylesheet" type="text/css" href="css/scroll.css">
     7     <style type="text/css">
     8         ul {
     9             margin: 0;
    10             padding: 0;
    11             list-style: none;
    12         }
    13     </style>
    14 </head>
    15 <body>
    16     <div class="scroll">
    17         <div class="scroll-img">
    18             <!-- 1226 * 460 | 613 * 230 -->
    19             <img class="active" src="img/001.jpg" alt="">
    20             <img src="img/002.jpg" alt="">
    21             <img src="img/003.jpg" alt="">
    22             <img src="img/004.jpg" alt="">
    23         </div>
    24         <ul class="scroll-tag">
    25             <li class="active"></li>
    26             <li></li>
    27             <li></li>
    28             <li></li>
    29         </ul>
    30         <div class="scroll-toggle">
    31             <i class="toggle-left">&lt;</i>
    32             <i class="toggle-right">&gt;</i>
    33         </div>
    34     </div>
    35 </body>
    36 <script src="js/scroll.js"></script>
    37 </html>
    img/scroll.css
      1 let imgs = document.querySelectorAll('img');
      2 let lis = document.querySelectorAll('li');
      3 let toggle_left = document.querySelector('.toggle-left');
      4 let toggle_right = document.querySelector('.toggle-right');
      5 let scroll = document.querySelector('.scroll');
      6 
      7 // 活跃的li
      8 let li_active = null;
      9 // 活跃的img
     10 let img_active = null;
     11 // 活跃的索引
     12 let c_index = 0;
     13 // 定时器
     14 let timer = 0;
     15 
     16 // 点击列表轮播
     17 // 点击li,显示对应图片
     18 for (let i = 0; i < lis.length; i++) {
     19     
     20     if (lis[i].className == "active") {
     21         li_active = lis[i];
     22         // 活跃的索引是一致的
     23         img_active = imgs[i];
     24     }
     25 
     26     lis[i].onclick = function () {
     27         // 将原来活跃的li取消
     28         li_active.className = "";
     29         // 将被点击的li激活
     30         this.className = "active";
     31         // 更新激活的li,方便下一次点击
     32         li_active = this;
     33 
     34         img_active.className = "";
     35         imgs[i].className = "active";
     36         img_active = imgs[i];
     37 
     38         // 更新活跃的索引,服务于自动轮播
     39         c_index = i;
     40     }
     41 }
     42 
     43 // 自动轮播
     44 function autoPlay() {
     45     timer = setInterval(function () {
     46         // 索引: 当前隐藏,下一张显示(最后有个转折)
     47         // 清除当前活跃状态
     48         imgs[c_index].className = "";
     49         lis[c_index].className = "";
     50 
     51         // 转折点
     52         if (c_index == 3) {
     53             c_index = -1;
     54         }
     55 
     56         // 轮播索引一次加一
     57         c_index++;
     58 
     59         // 设置新的活跃状态
     60         imgs[c_index].className = "active";
     61         lis[c_index].className = "active";
     62 
     63         // 更新活跃的li|img,服务于点击切换
     64         li_active = lis[c_index];
     65         img_active = imgs[c_index];
     66     }, 2000)
     67 }
     68 // 页面加载第一次轮播为自启
     69 autoPlay();
     70 
     71 scroll.onmouseover = function () {
     72     // 清除自动轮播
     73     clearInterval(timer);
     74 }
     75 scroll.onmouseout = function () {
     76     // 重新开启自动轮播
     77     autoPlay();
     78 }
     79 
     80 
     81 // 左右切换
     82 toggle_left.onclick = function () {
     83     // 清除当前活跃状态
     84     li_active.className = "";
     85     img_active.className = "";
     86 
     87     // 循环的转折
     88     c_index = c_index == 0 ? 4 : c_index;
     89 
     90     // 轮播索引一次加一
     91     c_index--;
     92 
     93     // 设置新的活跃状态
     94     imgs[c_index].className = "active";
     95     lis[c_index].className = "active";
     96 
     97     // 更新活跃的li|img,服务于点击切换
     98     li_active = lis[c_index];
     99     img_active = imgs[c_index];
    100 }
    101 toggle_right.onclick = function () {
    102     // 清除当前活跃状态
    103     imgs[c_index].className = "";
    104     lis[c_index].className = "";
    105 
    106     // 循环的转折
    107     c_index = c_index == 3 ? -1 : c_index;
    108 
    109     // 轮播索引一次加一
    110     c_index++;
    111 
    112     // 设置新的活跃状态
    113     imgs[c_index].className = "active";
    114     lis[c_index].className = "active";
    115 
    116     // 更新活跃的li|img,服务于点击切换
    117     li_active = lis[c_index];
    118     img_active = imgs[c_index];
    119 }
    img/scroll.js
  • 相关阅读:
    雅礼集训2017day5乱写
    任意值域最长公共子序列问题
    雅礼集训2017day4乱写
    雅礼集训2017day2乱写
    SP839
    雅礼集训2017day1乱写
    CF671E
    仅维护当前区间影响类问题的线段树
    「雅礼集训 2017 Day4」编码
    Codeforces Round #503 Div. 2
  • 原文地址:https://www.cnblogs.com/xuqidong/p/12269265.html
Copyright © 2011-2022 走看看