返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript实现定时器循环展示数组
  • 955
分享到

JavaScript实现定时器循环展示数组

2024-04-02 19:04:59 955人浏览 泡泡鱼
摘要

本文实例为大家分享了javascript实现定时器循环展示数组的具体代码,供大家参考,具体内容如下 先看看效果图 流程 使用数组的slice() 方法通过条件判断截取原数组相应内容

本文实例为大家分享了javascript实现定时器循环展示数组的具体代码,供大家参考,具体内容如下

先看看效果图

流程

使用数组的slice() 方法通过条件判断截取原数组相应内容组成新数组

循环数组

let currentPage = 0
// arr:原数组 newLen:新数组需要的长度 currentPage:现在的页码

// 方法一:
function loopData(arr, newLen) {
  let len = arr.length;
  let result = len - currentPage;
  let newArr = [];
  if (result > 0 && result < newLen) {
    newArr = [
      ...arr.slice(currentPage - result, len),
      ...arr.slice(0, newLen - result),
    ];
    currentPage = newLen - result;
  } else if (result >= newLen) {
    newArr = arr.slice(currentPage, currentPage + newLen);
    currentPage += newLen;
  } else {
    currentPage = 0;
    newArr = arr.slice(currentPage, currentPage + newLen);
  }
  return newArr;
}

// 方法二:
function loopData(arr, newLen) {
  let len = arr.length;
  let newArr = [];
  if (currentPage === len) {    // 页码等于数组长度时,从0重新开始
    currentPage = 0;
  }
  if (currentPage + newLen <= len) {
    newArr = [...arr.slice(currentPage, currentPage + newLen)];
    currentPage++;
  } else if (currentPage + newLen > len && currentPage < len) {
    newArr = [
      ...arr.slice(currentPage, len),
      ...arr.slice(0, newLen - len + currentPage),
    ];
    currentPage++;
  }
  return newArr;
}

简单案例

<template>
  <div class="container">
    <el-button @click="changeStatus">{{ flag ? "暂停" : "开始" }}</el-button>
    {{ list }}
  </div>
</template>

<script>
let currentPage = 0;
export default {
  data() {
    return {
      arr: [1, 2, 3, 4, 5, 6, 7],
      list: [],
      timer: null,
      flag: true,
    };
  },
  mounted() {
    this.start()
  },
  destroyed() {
    this.timer && clearInterval(this.timer);
  },
  methods: {
    changeStatus() {
      if (this.flag) {
        this.timer && clearInterval(this.timer);
      } else {
        this.start();
      }
      this.flag = !this.flag;
    },
    start() {
      this.timer = setInterval(() => {
        this.list = this.loopData(this.arr, 4);
      }, 1000);
    },
    loopData(arr, newLen) {
      let len = arr.length;
      let newArr = [];
      if (currentPage === len) {
        currentPage = 0;
      }
      if (currentPage + newLen <= len) {
        newArr = [...arr.slice(currentPage, currentPage + newLen)];
        currentPage++;
      } else if (currentPage + newLen > len && currentPage < len) {
        newArr = [
          ...arr.slice(currentPage, len),
          ...arr.slice(0, newLen - len + currentPage),
        ];
        currentPage++;
      }
      return newArr;
    },
  },
};
</script>

<style lang="sCSS" scoped>
.container {
  padding: 20px;
}
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: JavaScript实现定时器循环展示数组

本文链接: https://lsjlt.com/news/166540.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JavaScript实现定时器循环展示数组
    本文实例为大家分享了JavaScript实现定时器循环展示数组的具体代码,供大家参考,具体内容如下 先看看效果图 流程 使用数组的slice() 方法通过条件判断截取原数组相应内容...
    99+
    2024-04-02
  • java数组实现循环队列示例介绍
     从顶部进去数据,从底部出来数据,用数组实现队列,但是下面这个队列,只能进行一次存数值,取数值,不够完善。 import java.util.Scanner; pu...
    99+
    2024-04-02
  • Linux Shell循环中如何实现展示进度百分比
    这篇文章给大家分享的是有关Linux Shell循环中如何实现展示进度百分比的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Shell 循环中实现展示进度百分比的脚本方法当我需要处理一个几万行的文件的时候,需要处理...
    99+
    2023-06-09
  • Linux Shell循环中实现展示进度百分比的实现方法
    Shell 循环中实现展示进度百分比的脚本方法 当我需要处理一个几万行的文件的时候,需要处理的时间是比较长的。我一开始的想法是,没处理一行,就输出一个 # 号。但是这样还是会出现很多很多的 # 号,即便是放...
    99+
    2022-06-04
    百分比 进度 方法
  • PHP中怎么实现数组循环取数据
    这篇文章将为大家详细讲解有关PHP中怎么实现数组循环取数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。来一个快捷的例子如何?<html> <head>&l...
    99+
    2023-06-17
  • PHP中怎么实现数组循环操作
    PHP中怎么实现数组循环操作,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在循环里进行的是数组“读”操作,则foreach比while快,PHP数组循环操作无格...
    99+
    2023-06-17
  • JavaScript如何实现定时器
    这篇文章给大家分享的是有关JavaScript如何实现定时器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。简单介绍在JavaScript中定时器有两个 setInterval() 与 setTimeout() 分...
    99+
    2023-06-25
  • Node.js中事件循环、定时器和process.nextTick()的示例分析
    这篇文章主要介绍Node.js中事件循环、定时器和process.nextTick()的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是事件循环尽管JavaScript是...
    99+
    2024-04-02
  • Android 使用viewpager实现无限循环(定时+手动)
    循环轮播的方法有两种,一种是使用定时器另外一种是使用手指拨动,相比较而言,定时器实现循环播放比较容易,只要在定时器的消息里加上简单几段代码即可,下面分别就这两种方法给大家详解,...
    99+
    2022-06-06
    循环 viewpager Android
  • c语言实现数组循环左移m位
    目录c语言数组循环左移m位数组循环左移的简单方法输入格式输出格式c语言数组循环左移m位 #include<stdio.h> //函数原型 void rightshiftl...
    99+
    2024-04-02
  • Android studio listview实现列表数据显示 数据循环显示
    Android studio listview实现列表数据显示 样式不好看!想要好看的样式可以私我,我加! item.xml ...
    99+
    2022-06-06
    Android Studio 列表 studio 数据 循环 listview Android
  • JavaScript 闭包与定时器的时间之 轮:循环往复的异步编程
    闭包和定时器是JavaScript中实现异步编程的关键技术。闭包允许函数访问其创建范围内的变量,即使该函数已被调用并退出其作用域。定时器允许我们在特定时间延迟执行代码。 将闭包和定时器结合使用,我们可以创建一种称为“时间之轮”的循环往复的...
    99+
    2024-03-09
    JavaScript闭包与定时器的时间之轮:循环往复的异步编程
  • JavaScript定时器实现限时秒杀功能
    本文实例为大家分享了JavaScript实现限时秒杀功能的具体代码,供大家参考,具体内容如下 文件index.html 代码: <!DOCTYPE html> <...
    99+
    2024-04-02
  • c语言怎么循环加数组实现汉诺塔
    今天小编给大家分享一下c语言怎么循环加数组实现汉诺塔的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。简介汉诺塔问题是学数据结构...
    99+
    2023-06-29
  • C#怎么实现泛型动态循环数组队列
    这篇文章主要介绍“C#怎么实现泛型动态循环数组队列”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C#怎么实现泛型动态循环数组队列”文章能帮助大家解决问题。任务循环数组实现目标:(1)创建一个新的数组...
    99+
    2023-06-29
  • Java中的循环队列怎么利用数组实现
    这篇文章将为大家详细讲解有关Java中的循环队列怎么利用数组实现,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。用Java的数组实现一下循环队列。队列的类//循环队列class CirQueu...
    99+
    2023-05-31
    循环队列 java
  • c语言循环加数组实现汉诺塔问题
    目录简介递归的汉诺塔解法(c语言)循环实现汉诺塔问题(c语言)简介 汉诺塔问题是学数据结构与算法的时候会遇到的问题,相信来看本文的读者应该都对汉诺塔问题有基本的了解,理论上所有的递归...
    99+
    2024-04-02
  • PHP foreach循环实现数组元素的动态输出
    标题:利用PHP foreach循环实现数组元素的动态输出 在PHP中,我们经常会遇到需要遍历数组并输出数组元素的场景。其中,使用foreach循环是一种常见且便捷的方式。通过fore...
    99+
    2024-03-09
    php 数组 foreach
  • Android studio listview实现列表数据显示 数据循环显示效果
    Android studio listview实现列表数据显示 样式不好看!想要好看的样式可以私我,我加! item.xml <?xml version="...
    99+
    2022-06-06
    Android Studio 列表 studio 数据 循环 listview Android
  • ASP 数组如何实现实时重定向?
    在 ASP 中,数组是一种非常有用的数据结构,它可以让我们在代码中更加方便地管理和操作数据。在实际开发中,我们经常需要对数组进行处理,其中一个常见的应用场景就是实现实时重定向。本文将介绍如何在 ASP 中利用数组实现实时重定向,并提供相应...
    99+
    2023-10-20
    数组 实时 重定向
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作