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。

相关推荐
BillKu2 小时前
Vue3 Element Plus 对话框加载实现
javascript·vue.js·elementui
向上的车轮2 小时前
MATLAB学习笔记(七):MATLAB建模城市的雨季防洪排污的问题
笔记·学习·matlab
躺着听Jay3 小时前
Oracle-相关笔记
数据库·笔记·oracle
田梓燊3 小时前
数学复习笔记 19
笔记·线性代数·机器学习
前端小崔3 小时前
从零开始学习three.js(18):一文详解three.js中的着色器Shader
前端·javascript·学习·3d·webgl·数据可视化·着色器
运维@小兵3 小时前
vue配置子路由,实现点击左侧菜单,内容区域显示不同的内容
前端·javascript·vue.js
逼子格4 小时前
硬件工程师笔记——二极管Multisim电路仿真实验汇总
笔记·嵌入式硬件·硬件工程师·multisim·硬件工程师学习·电子器件·电路图
龙湾开发4 小时前
计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 10.增强表面细节(二)法线贴图
c++·笔记·学习·图形渲染·贴图
liang_20264 小时前
【HT周赛】T3.二维平面 题解(分块:矩形chkmax,求矩形和)
数据结构·笔记·学习·算法·平面·总结
虾球xz4 小时前
游戏引擎学习第290天:完成分离渲染
c++·人工智能·学习·游戏引擎