Day15-旧网站重写成Vue_6_多图片轮播

先写时间轮播的部分
一样先做一个data预设

data: {
    time: [0, 3, 4, 2, 4, 4, 5]
}

预设的数字是每一个"介绍"中有多少张图片

然後写函式

timechange() {
    for (let i = 0; i < this.indexs.length; i++) {
        this.indexs[i]++;
        if (this.indexs[i] >= this.time[i]) {
            this.indexs[i] = 0
            this.indexs.push();
        }
        else {
            this.indexs.push();
        }
    }
}

函式内容会比Day12的复杂
首先要让indexs中的每一个数字都要做到加法,才能让图片自己往後切一张
所以要使用for回圈让indexs这个阵列的每一个数字都改动到
然後需要判断是否已经是该"介绍"的最後一张图
写一个判别式,若indexs阵列的该项数值>=time阵列同一项,代表已经到最後一张,必须切回第一张,所以直接把数值设定成0
写好函式後在mounted呼叫他

mounted() {
    setInterval(this.timechange, 3000);
}

便能让图片自己切换了
https://i.imgur.com/zU4B6Ze.gif
为了让切换看的明显,动图的秒数是1秒,比较舒适的秒数是2~3秒左右

然後来写tab标签被点击时此篇跟前篇做的一些预设的更动
这边全部都是写在Day13的tab标签会使用到的indexPlus函式
帮函式再新增两个参数,用以判别被点击到的tab有多少"介绍"跟各自有多少"图片"
然後需要改动的是indexs跟time的内容

indexPlus(n, s, im) {
    this.indexs = []
    this.time = []
    for (let i = 0; i < s; i++) {
        this.indexs.push(0)
    }
    for (let i = 0; i < s - 1; i++) {
        this.time.push(im[i + 1].im.length)
    }
    this.time.unshift(0)
    this.tab.fill(false);
    this.tab[n] = 1;
}

在函式中设定好阵列的清除与加入新东西後,我们需要在tab使用函式时给予相对应的参数数值,所以HTML也要做改动

<a class="tab_title" @click="indexPlus(index, itr.length, itr)" for="key" :class="{'choose':tab[index]}">{{key}}</a>

这样子改过之後我们的tab就能随意切换也不会跑掉了
https://i.imgur.com/mQzMnFu.gif


<<:  Day15-hprof文件分析工具:mat(二)

>>:  浅谈传输层协定(二):TCP 到底多可靠?

Day 20:Dijkstra演算法

先前我们利用广度优先搜寻,找到图中两节点之间的最短路径,其中所谓「最短」是指「经过最少的边」。可是这...

所以什麽是MQTT啊?

前言 在某次跟同事的讨论中听到这个名词,"A:你知道mqtt吗? W:痾 我不知道 A:...

Day 27 - 资料视觉化与API - 将资料转化成艺术

前言 觉得这个文章,花了太多时间在写但有些设定好像应该 更把他分的更清楚而不是一直只丢范例出来解释。...

软件人的输出式学习: 从出片到出书 — 我的第一手经验分享

软件界的必要之恶:逆水行舟,不进则退 软件界的生态与其他产业不同,技术更迭的速度远高於平均值。每一...

【Day 30】完赛 --- 30天搞懂机器学习真的搞错了什麽

完赛心得 本来以为自己没办法完赛,却在不知不觉中结束了这30天的挑战,虽然一开始就觉得要在30天搞懂...