zoukankan      html  css  js  c++  java
  • js常用特效-幻灯片

      1 <!DOCTYPE html>
      2 <html>
      3 
      4     <head>
      5         <meta charset="UTF-8">
      6         <title></title>
      7         <style type="text/css">
      8             * {
      9                 margin: 0px;
     10                 padding: 0px;
     11                 list-style: none;
     12             }
     13             
     14             #box {
     15                 position: absolute;
     16                 left: 0px;
     17                 right: 0px;
     18                 bottom: 0px;
     19                 top: 0px;
     20                 margin: auto;
     21                 width: 500px;
     22                 height: 300px;
     23             }
     24             
     25             ul>li {
     26                 width: 100%;
     27                 height: 100%;
     28                 position: absolute;
     29                 top: 0px;
     30                 left: 0px;
     31                 font-size: 40px;
     32                 color: #fff;
     33                 text-align: center;
     34                 line-height: 300px;
     35                 display: none;
     36             }
     37             
     38             .ul li:nth-of-type(1) {
     39                 background: red;
     40             }
     41             
     42             .ul li:nth-of-type(2) {
     43                 background: green;
     44             }
     45             
     46             .ul li:nth-of-type(3) {
     47                 background: blue;
     48             }
     49             
     50             .ul li:nth-of-type(4) {
     51                 background: #ff6700;
     52             }
     53             
     54             span {
     55                 font-size: 50px;
     56                 font-weight: bold;
     57                 display: inline-block;
     58                 width: 40px;
     59                 color: #fff;
     60                 background: #b0b0b0;
     61                 height: 60px;
     62                 line-height: 60px;
     63                 text-align: center;
     64                 cursor: pointer;
     65                 display: none;
     66             }
     67             
     68             #box:hover span {
     69                 display: block;
     70             }
     71             
     72             .left {
     73                 position: absolute;
     74                 left: 0px;
     75                 top: 120px;
     76             }
     77             
     78             .right {
     79                 position: absolute;
     80                 right: 0px;
     81                 top: 120px;
     82             }
     83             
     84             ol {
     85                 text-align: center;
     86                 position: absolute;
     87                 bottom: 20px;
     88                 width: 100%;
     89             }
     90             
     91             ol>li {
     92                 display: inline-block;
     93                 width: 15px;
     94                 height: 15px;
     95                 background: gray;
     96                 border-radius: 100%;
     97                 margin: 5px;
     98                 cursor: pointer;
     99             }        
    100             .show {
    101                 display: block;
    102             }
    103             .change {
    104                 background-color: #fff;
    105             }
    106         </style>
    107     </head>
    108     <body>
    109         <div id="box">
    110             <ul class="ul">
    111                 <li>第一张</li>
    112                 <li>第二张</li>
    113                 <li>第三张</li>
    114                 <li>第四张</li>
    115             </ul>
    116             <ol>
    117                 <li class="point"></li>
    118                 <li class="point"></li>
    119                 <li class="point"></li>
    120                 <li class="point"></li>
    121             </ol>
    122             <span class="left"><</span>
    123             <span class="right">></span>
    124         </div>
    125         <script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>
    126         <script type="text/javascript">
    127             var box = document.querySelector("#box");
    128             var ul = document.querySelector(".ul");
    129             var lis = ul.getElementsByTagName("li");
    130             var right = document.querySelector(".right");
    131             var left = document.querySelector(".left");
    132             var point = document.querySelectorAll(".point");
    133 
    134             lis[0].className = "show";
    135             point[0].className = "change";
    136             var i = 0, timer;
    137             
    138             //自动播放
    139             
    140             Auto();
    141             function Auto() {
    142                 if(timer){
    143                     clearInterval(timer);
    144                 }
    145                 function show() {
    146                     i++;
    147                     if(i >= lis.length) {
    148                         i = 0
    149                     }
    150                     clear(i);
    151                 }
    152                 timer = setInterval(show, 1500);
    153             }
    154 
    155             //单击左边
    156             left.onclick = function() {
    157                 i--;
    158                 if(i < 0) {
    159                     i = lis.length - 1;
    160                 }
    161                 console.log(i);
    162                 clear(i);
    163             }
    164 
    165             //单击右边
    166             right.onclick = function() {
    167                 i++;
    168                 if(i >= lis.length) {
    169                     i = 0;
    170                 }
    171                 clear(i);
    172             }
    173             //重置属性
    174             function clear(t) {
    175                 for(var j = 0; j < lis.length; j++) {
    176                     lis[j].className = "";
    177                     point[j].className = "";
    178                 }
    179                 lis[t].className = "show";
    180                 point[t].className = "change";
    181             }
    182             //单击小圆圈播放 (注意函数的闭包问题 )
    183             for(var k = 0; k < point.length; k++) {
    184                 point[k].index = k; //闭包问题的解决,自定义属性
    185                 point[k].onclick = function() {
    186                     i = this.index;
    187                     clear(i);
    188                 }
    189             }
    190             
    191             box.onmouseenter = function(){
    192                 clearInterval(timer);
    193             }
    194             box.onmouseleave = function(){
    195                 setTimeout(Auto, 1000);
    196             }
    认真是一种态度。。。求知若饥,虚怀若愚
  • 相关阅读:
    ios中strong和weak的解释理解
    leetcode: Remove Duplicates from Sorted Array II [基本功]
    leetcode : Sort Colors
    leetcode : Search a 2D Matrix
    leetcode : Set Matrix Zeroes [技巧 follow up 逐步优化]
    leetcode : edit distance[hard][经典动态规划]
    leetcode : Climbing Stairs
    leetcode : Add Bianry 基本功 字符转整数
    leetcode : Plus One 基本功
    leetcode : Minimum Path Sum
  • 原文地址:https://www.cnblogs.com/web-wjg/p/7136276.html
Copyright © 2011-2022 走看看