JS 定时轮播图

需求:每一秒切换一个图片

思路:

1.设置数组,里面包含素材等信息

2.获取元素

3.设置定时器函数

      设置一个变量自增

       更改信息

4.if设置图片循环

初始信息

 const sliderData = [
      { url: '地址', title: '', color: '图片边框rgb' },

开定时器

// 1. 获取元素 
const img = document.querySelector('.slider-wrapper img')
const p = document.querySelector('.slider-footer p')
let i = 0  // 控制图片的张数
// 2. 开启定时器
console.log(sliderData[i])
setInterval(function(){
  i++
  console.log(sliderData[i])
}, 1000)

修改内容 

// 1. 获取元素 
const img = document.querySelector('.slider-wrapper img')
const p = document.querySelector('.slider-footer p')
let i = 0  // 控制图片的张数
// 2. 开启定时器
// console.log(sliderData[i])
setInterval(function(){
  i++
    
  //=========================todo 02 
  // 更换图片路径
  img.src = sliderData[i].url
  // 修改p标签的内容
  p.innerHTML = sliderData[i].title
  
  // 小圆点
  const li_old = document.querySelector('.slider-indicator .active')
  // 先删除以前的active
  li_old.classList.remove('active')

  const li_now = document.querySelector(`.slider-indicator li:nth-child(${i + 1})`)
  // 只让当前li添加active
  li_now.classList.add('active')
  //=================================== 
}, 1000)

 无缝衔接

setInterval(function () {
  i++
  //=========================
  // 无缝衔接位置  一共八张图片,到了最后一张就是 8, 数组的长度就是 8
  if (i >= sliderData.length) {
    i = 0
  } 
  console.log(i)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值