干货---图片轮播(loop)多个设备展示图片一致,而非重新开始,根据当前时间计算展示图片

绝世唐门三哥的社区 宗主-绝世斗罗
前端领域新星创作者
2022-09-05 11:04:12

 解释说明:

简单说就是,根据当天的时间来动态切换图片src,不论设备多少,开机运行顺序。进去看到的保证都是在某个相同时间端内的图片是相同的,而非不同设备进去都是从0秒到duration秒采取切换图片!!!

 

 

 

代码实例:

<!-- 根据时间来展示切换图片src -->
 
    // 根据当前时间保证所有设备展示图片一致
    // 插件支持 dayjs
    // window.dayjs  cdn的话可以直接这样写,import、require的话需要挂载到window上
     function ComputedImgIndexOrLength(duration, length) {
      /**
       * duration 图片轮询间隔
       * length   图片长度
       */
      var defaultCount = typeof (duration * length) !== 'number' ? 0 : duration * length
      // 如果计算值非数字直接暂停,返回默认第一张
      if (!defaultCount) {
        console.error('===%s 当前值为 %s===', !duration ? '切换时间' : !length ? '图片长度' : '', !duration ? duration + '' : !length ? 'length' + '' : '')
        return 0
      }
      const currentTime = window.dayjs().hour() * 60 * 60 + window.dayjs().minute() * 60 + window.dayjs().second()
      console.log('===currentTime===', currentTime + 's')
      const reset = currentTime % (duration * length)
      //  循环一轮的总时长, duration * length
      console.log('===返回值为:%s===',  '索引值:' +  Math.floor(reset / duration))
      return Math.floor(reset / duration)
    }

 

...全文
60 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-01-13
  • 打赏
  • 举报
回复
您可以前往 CSDN问答-编程语言 发布问题, 以便更快地解决您的疑问

4,624

社区成员

发帖
与我相关
我的任务
社区描述
每天总结一点点就好了呀
vue.js前端html5 个人社区 上海·浦东新区
社区管理员
  • 绝世唐门三哥
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧