SOURCE

console 命令行工具 X clear

                    
>
console
/* 每一次刷新时,都自动切换图片,并使得对应的图片文字,背景色都切换。
对应的小圆点需要高亮。(.active类)
第1步: 定义随机数
第2步: 获得所有的图片,文字和背景div的元素对象,并更改值。
第3步: 获得当前对应的li的数,进行添加class,但这之前要所有的元素上的.active去掉。
 */


// 定义图片集合对象
const sliderData = [
      { url: 'https://hjd6633.oss-cn-hangzhou.aliyuncs.com/notes/js/hm23/bg1.png', title: '对人类来说会不会太超前了?', color: 'rgb(100, 67, 68)' },
      { url: 'https://hjd6633.oss-cn-hangzhou.aliyuncs.com/notes/js/hm23/bg2.png', title: '一站式解决你的电脑配置问题!!!', color: 'rgb(53, 29, 25)' },
      { 
          url: 'https://hjd6633.oss-cn-hangzhou.aliyuncs.com/notes/js/hm23/bg3.png', 
          title: '谁不想和小猫咪贴贴呢!', 
          color: 'rgb(99, 72, 114)' 
      }
]


const rnd = Math.floor(Math.random() * sliderData.length) 

const img = document.querySelector('.slider-wrapper img')
const p = document.querySelector('.slider-footer p')
const footer = document.querySelector('.slider-footer')

img.src = sliderData[rnd].url
p.innerText = sliderData[rnd].title
footer.style.backgroundColor = sliderData[rnd].color 


document.querySelector('.active').classList.remove('active')

const li = document.querySelector(`.slider-indicator li:nth-child(${rnd + 1})`)
li.classList.add('active')

<div class="slider">
    <!-- 轮播图 -->
    <div class="slider-wrapper">
      <img src="javascript;" alt="" />
    </div>
    
    <!-- 轮播图caption -->
    <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;
    }