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。

相关推荐
ue星空8 分钟前
逆向分析光与影:33号远征队使用的UE技术栈
笔记·学习
立志成为大牛的小牛18 分钟前
数据结构——二十二、并查集(王道408)
c语言·数据结构·笔记·学习·考研
二十三之歌28 分钟前
Redis 中文学习手册
数据库·redis·学习
青衫码上行1 小时前
【从0开始学习Java | 第21篇】网络编程综合练习
java·网络·学习
失心疯_20231 小时前
PyQt开发_小学学习辅助工具
学习·pyqt
我的xiaodoujiao1 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 18--测试框架Pytest基础 2--插件和参数化
python·学习·测试工具·pytest
今天只学一颗糖1 小时前
Linux学习笔记--GPIO控制器驱动
笔记·学习
梵得儿SHI2 小时前
Vue 开发环境搭建全指南:从工具准备到项目启动
前端·javascript·vue.js·node.js·pnpm·vue开发环境·nvm版本管理
yuxb732 小时前
Ceph 分布式存储学习笔记(四):文件系统存储管理
笔记·ceph·学习
ouliten2 小时前
cuda编程笔记(29)-- CUDA Graph
笔记·深度学习·cuda