最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript實(shí)現(xiàn)定時(shí)器循環(huán)展示數(shù)組

 更新時(shí)間:2022年09月01日 10:02:37   作者:凡小多  
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)定時(shí)器循環(huán)展示數(shù)組,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)定時(shí)器循環(huán)展示數(shù)組的具體代碼,供大家參考,具體內(nèi)容如下

先看看效果圖

流程

使用數(shù)組的slice() 方法通過條件判斷截取原數(shù)組相應(yīng)內(nèi)容組成新數(shù)組

循環(huán)數(shù)組

let currentPage = 0
// arr:原數(shù)組 newLen:新數(shù)組需要的長(zhǎng)度 currentPage:現(xiàn)在的頁(yè)碼

// 方法一:
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) {?? ?// 頁(yè)碼等于數(shù)組長(zhǎng)度時(shí),從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;
}

簡(jiǎn)單案例

<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>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • javascript中關(guān)于&& 和 || 表達(dá)式的小技巧分享

    javascript中關(guān)于&& 和 || 表達(dá)式的小技巧分享

    我將會(huì)介紹和解析12個(gè)簡(jiǎn)單但是強(qiáng)大的JavaScript技巧. 這些技巧所有的JavaScript程序員都可以馬上使用, 你不需要成為JavaScript高手才能理解這些.下面我們開始本系列的第一篇文章,介紹下強(qiáng)大的&& 和 || 表達(dá)式
    2015-04-04
  • 通過實(shí)踐編寫優(yōu)雅的JavaScript代碼

    通過實(shí)踐編寫優(yōu)雅的JavaScript代碼

    這篇文章主要介紹了如何通過實(shí)踐編寫優(yōu)雅的JavaScript代碼。文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,下面我們來學(xué)習(xí)一下吧
    2019-05-05
  • js實(shí)現(xiàn)網(wǎng)頁(yè)標(biāo)題欄閃爍提示效果實(shí)例分析

    js實(shí)現(xiàn)網(wǎng)頁(yè)標(biāo)題欄閃爍提示效果實(shí)例分析

    這篇文章主要介紹了js實(shí)現(xiàn)網(wǎng)頁(yè)標(biāo)題欄閃爍提示效果的方法,以實(shí)例形式分析了網(wǎng)上比較常見的實(shí)現(xiàn)方法,并對(duì)于原理進(jìn)行分析并加以改進(jìn),最后給出了一個(gè)具體的應(yīng)用實(shí)例供大家參考,需要的朋友可以參考下
    2014-11-11
  • js實(shí)現(xiàn)兩點(diǎn)之間畫線的方法

    js實(shí)現(xiàn)兩點(diǎn)之間畫線的方法

    這篇文章主要介紹了js實(shí)現(xiàn)兩點(diǎn)之間畫線的方法,涉及javascript圖形繪制的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • JS控制網(wǎng)頁(yè)動(dòng)態(tài)生成任意行列數(shù)表格的方法

    JS控制網(wǎng)頁(yè)動(dòng)態(tài)生成任意行列數(shù)表格的方法

    這篇文章主要介紹了JS控制網(wǎng)頁(yè)動(dòng)態(tài)生成任意行列數(shù)表格的方法,實(shí)例分析了javascript操作表格節(jié)點(diǎn)控制dom元素添加的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • JavaScript實(shí)現(xiàn)自動(dòng)消除按鈕功能的方法

    JavaScript實(shí)現(xiàn)自動(dòng)消除按鈕功能的方法

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)自動(dòng)消除按鈕功能的方法,涉及javascript針對(duì)頁(yè)面元素屬性操作的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • 微信js-sdk 錄音功能的示例代碼

    微信js-sdk 錄音功能的示例代碼

    這篇文章主要介紹了微信jsdk錄音功能的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • JavaScript“盡快失敗”的原則實(shí)例詳解

    JavaScript“盡快失敗”的原則實(shí)例詳解

    我第一次聽說編碼原則中有“盡快失敗”這一條時(shí),覺得很奇怪,為什么代碼要失???應(yīng)該成功才對(duì)呀。下面小編通過實(shí)例代碼給大家介紹js 盡快失敗的原則,一起看看吧
    2016-10-10
  • IE下雙擊checkbox反應(yīng)延遲問題的解決方法

    IE下雙擊checkbox反應(yīng)延遲問題的解決方法

    這篇文章主要介紹了IE下雙擊checkbox反應(yīng)延遲問題的解決方法,需要的朋友可以參考下
    2014-03-03
  • JavaScript+html5 canvas制作色彩斑斕的正方形效果

    JavaScript+html5 canvas制作色彩斑斕的正方形效果

    這篇文章主要介紹了JavaScript+html5 canvas制作色彩斑斕的正方形效果,實(shí)例分析了JavaScript結(jié)合html5 canvas實(shí)現(xiàn)圖形動(dòng)態(tài)繪制的技巧,需要的朋友可以參考下
    2016-01-01

最新評(píng)論

台中市| 辽中县| 招远市| 安乡县| 平原县| 湖南省| 甘肃省| 泸州市| 吉林市| 抚宁县| 碌曲县| 淄博市| 天长市| 宜阳县| 乌拉特前旗| 陕西省| 抚远县| 柳州市| 巫山县| 方正县| 旬邑县| 扬中市| 合水县| 延庆县| 桃园市| 开鲁县| 正定县| 岳普湖县| 娱乐| 望城县| 长寿区| 利津县| 固镇县| 万载县| 永春县| 定日县| 巴南区| 嘉祥县| 吴川市| 仙居县| 锡林郭勒盟|