Vue学习笔记(六、跑马灯效果)

下面是一段跑马灯效果的代码:

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>VueBaseCode</title>
    <script src="./lib/vue.js"></script>
</head>

<body>

    <div id="app">
        <input type="button" value="跑起来" @click="run">
        <input type="button" value="停下来" @click="stop">
        <h3>{{msg}}</h3>
    </div>


    <script>
        var vm = new Vue({
            el: '#app',
            data: {
                msg: '好好学习,天天向上。',
                intervalId: null
            },
            methods: {
                run() {
                    if (this.intervalId != null) return;
                    this.intervalId = setInterval(() => {
                        var start = this.msg.substring(0, 1)
                        var end = this.msg.substring(1)
                        this.msg = end + start
                    }, 400);
                },
                stop() {
                    clearInterval(this.intervalId);
                    this.intervalId = null;
                }
            }
        });
    </script>
</body>

</html>

这里我们通过"@"来绑定方法,通过":"来绑定h3内容。

在data对象里面添加了一个setInterval方法的引用intervalId,并设置初始值为null,在run方法里面我们将SetInterval方法的引用赋给leintervalId,在setInterval定时器里面,我们定义了匿名方法,该方法将msg的开头第一个字母和其后面的字符串分别取出,并交换头尾相加,并将其值重新赋给msg。

在stop方法里面,我们停止了定时器,并将interval设置为null。

相关推荐
Hammer_Hans4 分钟前
DFT笔记50
笔记
YangYang9YangYan7 分钟前
2026会计人员想提升个人能力学习数据分析的价值
学习·数据挖掘·数据分析
二哈赛车手25 分钟前
新人笔记---简易版AI实现以图搜图功能
java·人工智能·笔记·spring·ai
Momo__37 分钟前
Vue3 v-memo:长列表渲染的性能核武器
前端·vue.js
医工交叉实验工坊1 小时前
iPS 细胞帕金森疗法落地日本:治疗费 5530 万日元(237.57万人民币)
学习
西洼工作室1 小时前
UniApp云开发笔记
前端·笔记·uni-app
李白不吃坚果1 小时前
误差量化分析的思考_5_17
学习·cmos·集成电路·误差·量化分析·模拟集成电路设计
xian_wwq1 小时前
【学习笔记】探讨大模型应用安全建设系列2——安全评估:攻击面梳理与差距分析
笔记·学习·安全
ljt27249606612 小时前
Vue笔记(三)--用户交互
javascript·vue.js·笔记
Martin -Tang2 小时前
uniapp 实现录音操作,长按录音,放开取消
前端·javascript·vue.js·uni-app·css3·录音