第二章 Vue快速入门--10-11 跑马灯效果制作

本文详细介绍使用Vue.js实现按钮触发动画效果的过程,包括通过定时器动态改变消息内容,以及如何停止动画。深入探讨了Vue的数据响应机制和事件处理方式。

 

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 
 4 <head>
 5   <meta charset="utf-8">
 6   <meta name="viewport" content="width=device-width,initial-scale=1.0">
 7   <title>Document</title>
 8   <!--1.导入Vue的包-->
 9   <!-- <script src="./lib/vue-2.6.10.js"></script> -->
10   <script src=" https://cdn.jsdelivr.net/npm/vue"></script>
11 
12 </head>
13 
14 <body>
15   <!-- 2.创建一个要控制的区域 -->
16   <div id="app">
17     <input type="button" value="浪起来" @click="lang">
18     <input type="button" value="低调" @click="stop">
19     <h4>{{ msg }}</h4>
20   </div>
21 
22 
23   <script>
24       //注意:在VM实例中,如果想要获取 data 上的数据,或者想要调用methods中的方法,必须通过this.数据属性名  或 this.方法名   来进行访问,这里的this,就表示 我们 new 出来的VM实例对象
25       var vm =  new Vue({
26         el:'#app',
27         data:{
28           msg:'猥琐发育,别浪~~!',
29             intervalId:null //在data上定义 定时器Id
30           },
31           methods:{
32           //老写法: lang:function(){}
33           //es6写法
34           lang(){
35             // console.log(this.msg)
36           // var _this=this
37           //=>箭头函数解决this指向的问题,箭头函数内部的this永远和箭头函数外部保持一致,外部的this指向VM实例,内部的this也是指向VM实例。箭头函数使内部的this指向外部的this
38 
39           if(this.intervalId !=null) return;
40           this.intervalId= setInterval( () => {
41               // 获取到头的第一个字符         
42               var start = this.msg.substring(0,1)
43             //获取到后面的所有字符
44             var end=this.msg.substring(1)
45             //重新拼接得到新的字符串,并赋值给 this.msg
46             this.msg=end+start
47           },400)
48 
49             //主要:VM实例,会监听自己身上data 中所有数据的改变,只要数据一发生变化,就会自动把最新的数据,从data上同步到页面中去;【好处:程序员只需要关心数据,不需要考虑如何重新渲染DOM页面】
50           },
51 
52           stop(){ //停止定时器
53             clearInterval(this.intervalId)
54             //每当清除了定时器之后,需要重新把 intervalId 置为 null
55             this.intervalId=null;
56           }
57         }
58       })
59 
60       //分析:
61       //1. 给【浪起来】 按钮,绑定一个点击事件 v-on @
62       //2.在按钮的时间处理函数中,写相关的业务逻辑:拿到msg字符串,然后调用字符串的substring来进行字符串的截取操作,把第一个字符截取出来,放到最后一个位置即可;
63       //3.为了实现点击下按钮,自动截取的功能,需要把 2 步骤中的代码,放到一个定时器中去;
64     </script>
65   </body>
66   </html>

 

转载于:https://www.cnblogs.com/songsongblue/p/10986954.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值