【Vue案例一】实现跑马灯效果
2020-08-27 17:40
926 查看
在Vue学习笔记(一)中我们已经学过了 v-on 这个指令,可以用来实现事件的绑定,本文我们利用 v-on 来实现一个简单的跑马灯效果,就是如下这种效果:
第一步:导入Vue包
<script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.min.js"></script>
第二步:创建一个要控制的区域
<div id="app"> <button>开始</button> <button>停止</button> <h1>{{ msg }}</h1> </div> <script> var vm = new Vue({ el: '#app', data: { msg: '加油 ~ 加油 ~ 你最棒!!!', }, </script>
第三步:绑定事件
使用 v-on 或者其缩写"@",给"开始"和“停止”按钮分别绑定一个点击事件。
<button @click="begin">开始</button> <button @click="stop">停止</button> <script> var vm = new Vue({ el: '#app', data: { msg: '加油 ~ 加油 ~ 你最棒!!!', }, methods: { begin() { }, stop() { } } }) </script>
第四步:begin() 事件处理
拿到 msg 字符串,然后调用字符串的 substring() 方法来进行字符串的截取操作,把第一个字符截取出来,放到最后一个位置即可。为了实现点击按钮自动截取的功能,需要设置一个定时器。
begin() { this.intervalId = setInterval(() => { var start = this.msg.substring(0, 1) var end = this.msg.substring(1) this.msg = end + start }, 200) },
第五步:stop() 事件处理
想要停止跑马灯效果,只需要清除定时器即可。
stop() { clearInterval(this.intervalId) }
第六步:在data上定义定时器Id
var vm = new Vue({ el: '#app', data: { msg: '加油 ~ 加油 ~ 你最棒!!!', intervalId: '' } })
注意: VM实例,会监听自己身上 data 中所有数据的改变,只要数据一发生变化,就会自动把最新的数据,从data 上同步到页面中去。【好处:程序员只需要关心数据,不需要考虑如何重新渲染DOM页面】
完整代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.12/vue.min.js"></script></head> <body> <div id="app"> <button @click="begin">开始</button> <button @click="stop">停止</button> <h1>{{ msg }}</h1> </div> <script> var vm = new Vue({ el: '#app', data: { msg: '加油 ~ 加油 ~ 你最棒!!!', intervalId: '' }, methods: { begin() { this.intervalId = setInterval(() => { var start = this.msg.substring(0, 1) var end = this.msg.substring(1) this.msg = end + start }, 200) },stop() { clearInterval(this.intervalId) }} }) </script> </body> </html>
相关文章推荐
- vue实现无缝轮播(跑马灯效果)
- vue学习二——实现跑马灯效果
- 分别用Js和vue实现跑马灯效果
- vue学习笔记:1.vue实现简单的跑马灯效果
- vue实现简单的跑马灯效果
- 点击实现跑马灯效果Vue
- Vue 使用计时器实现跑马灯效果的实例代码
- Android自定义View实现竖直跑马灯效果案例解析
- vue实现跑马灯效果
- Vue简短代码实现文字首尾无缝跑马灯效果
- vue实现多级菜单效果
- Javascript实现跑马灯效果
- vue实现树形菜单效果
- vue实现的微信机器人聊天功能案例【附源码下载】
- Android神奇跑马灯效果多种实现
- TextView中跑马灯、删除线,抗锯齿,下划线效果的实现
- Android 中TextView中跑马灯效果的实现方法
- vue.js + element UI实现表格、列表的拖动 推拽效果
- 自定义View—实现滚动TextView(跑马灯)效果
- Vue实现点击箭头上下移动效果