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

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

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

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

先看看效果圖

流程

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

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

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

// 方法一:
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) {?? ?// 頁碼等于數(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;
}

簡單案例

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

    JavaScript實現(xiàn)自動消除按鈕功能的方法

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

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

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

    JavaScript“盡快失敗”的原則實例詳解

    我第一次聽說編碼原則中有“盡快失敗”這一條時,覺得很奇怪,為什么代碼要失?。繎?yīng)該成功才對呀。下面小編通過實例代碼給大家介紹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制作色彩斑斕的正方形效果,實例分析了JavaScript結(jié)合html5 canvas實現(xiàn)圖形動態(tài)繪制的技巧,需要的朋友可以參考下
    2016-01-01

最新評論

临西县| 晋宁县| 雅安市| 思南县| 衡阳市| 贵定县| 进贤县| 柳江县| 安远县| 黑山县| 昌都县| 龙口市| 阜城县| 博乐市| 山东| 雷波县| 益阳市| 友谊县| 大余县| 密云县| 陇南市| 萍乡市| 康定县| 翼城县| 崇州市| 阜康市| 张家界市| 大理市| 封开县| 浙江省| 会同县| 宁强县| 林西县| 吉林省| 三明市| 寿光市| 通山县| 海丰县| 深圳市| 桐柏县| 洪江市|