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。

相关推荐
Larry_Yanan11 分钟前
QML学习笔记(四十八)QML与C++交互:QML中可实例化C++对象
c++·笔记·qt·学习·ui·交互
Nan_Shu_61432 分钟前
学习:JavaScript(1)
开发语言·javascript·学习·ecmascript
青衫码上行35 分钟前
【Java Web学习 | 第三篇】CSS(2) - 元素显示模式
java·前端·学习
柑橘乌云_1 小时前
学习记录-package.json的scripts添加参数的方式有那些
前端·学习·node.js·json
MeowKnight9581 小时前
【数据结构】单链表 练习记录
笔记
江苏世纪龙科技3 小时前
新能源汽车故障诊断与排除虚拟实训软件——赋能职业教育新工具
学习
Felicity_Gao5 小时前
uni-app VOD 与 COS 选型、开发笔记
前端·笔记·uni-app
兔兔爱学习兔兔爱学习7 小时前
Spring Al学习7:ImageModel
java·学习·spring
Sheldon一蓑烟雨任平生8 小时前
Vue3 依赖注入(provide 和 inject)
vue.js·inject·provide·vue3 依赖注入·跨级别组件通信
崎岖Qiu8 小时前
【设计模式笔记06】:单一职责原则
java·笔记·设计模式·单一职责原则