SOURCE

console 命令行工具 X clear

                    
>
console
let slidedata = [
        {url: 'https://hjd6633.oss-cn-hangzhou.aliyuncs.com/notes/js/hm23/bg1.png', title:'对人类来说会不会太超前了?', bgc:'rgb(100, 67, 68)'},
        {url: 'https://hjd6633.oss-cn-hangzhou.aliyuncs.com/notes/js/hm23/bg2.png', title:'一站式解决你的电脑配置问题!!', bgc:'rgb(100, 67, 68)'},
        {
            url: 'https://hjd6633.oss-cn-hangzhou.aliyuncs.com/notes/js/hm23/bg3.png', 
            title:'一站式解决你的电脑配置问题!!', 
            bgc:'rgb(100, 67, 68)'}
    ]

let image = document.querySelector('img')
let title = document.querySelector('.slider-footer p')
let sliderbg = document.querySelector('.slider-footer')
let i = 0
let j = 1

function rotate(){
    console.log(`第${j}轮第${i+1}次`)
    if(i == slidedata.length){
        i = 0
        j++
    } 

    if (j == 3){
        clearInterval(timer1)
    }

    image.src = slidedata[i].url
    title.innerText = slidedata[i].title
    sliderbg.style.backgroundColor = slidedata[i].bgc

    //选中小圆点的li
    /* let deactiveli = document.querySelectorAll(`.slider-indicator li`)
       for(let k = 0; k < deactiveli.length; k++){
        deactiveli[k].classList.remove('active')
    }  
      //上面这3句不如下面这一句
    */
    document.querySelector('.active').classList.remove('active')


    let pointer_li = document.querySelector(`.slider-indicator li:nth-child(${i+1})`)
    pointer_li.classList.add('active')
    i++
      
  }
  
let timer1 = setInterval(rotate, 1000)
<div class="slider">
    <div class="slider-wrapper">
      <img src="https://hjd6633.oss-cn-hangzhou.aliyuncs.com/notes/js/hm23/bg1.png" alt="" />
    </div>
    <div class="slider-footer">
      <p>对人类来说会不会太超前了?</p>
      <ul class="slider-indicator">
        <li class="active"></li>
        <li></li>
        <li></li>
      </ul>
      <div class="toggle">
        <button class="prev">&lt;</button>
        <button class="next">&gt;</button>
      </div>
    </div>
  </div>
 * {
      box-sizing: border-box;
    }

    .slider {
      width: 560px;
      height: 400px;
      overflow: hidden;
    }

    .slider-wrapper {
      width: 100%;
      height: 320px;
    }

    .slider-wrapper img {
      width: 100%;
      height: 100%;
      display: block;
    }

    .slider-footer {
      height: 80px;
      background-color: rgb(100, 67, 68);
      padding: 12px 12px 0 12px;
      position: relative;
    }

    .slider-footer .toggle {
      position: absolute;
      right: 0;
      top: 12px;
      display: flex;
    }

    .slider-footer .toggle button {
      margin-right: 12px;
      width: 28px;
      height: 28px;
      appearance: none;
      border: none;
      background: rgba(255, 255, 255, 0.1);
      color: #fff;
      border-radius: 4px;
      cursor: pointer;
    }

    .slider-footer .toggle button:hover {
      background: rgba(255, 255, 255, 0.2);
    }

    .slider-footer p {
      margin: 0;
      color: #fff;
      font-size: 18px;
      margin-bottom: 10px;
    }

    .slider-indicator {
      margin: 0;
      padding: 0;
      list-style: none;
      display: flex;
      align-items: center;
    }

    .slider-indicator li {
      width: 8px;
      height: 8px;
      margin: 4px;
      border-radius: 50%;
      background: #fff;
      opacity: 0.4;
      cursor: pointer;
    }

    .slider-indicator li.active {
      width: 12px;
      height: 12px;
      opacity: 1;
    }