1. 程式人生 > >跑馬燈案例

跑馬燈案例

dev put star lang pat 表示 停止 字符 vue

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>Title</title> <script src="js/vue-2.4.0.js"></script> </head> <body> <div id="app"> <input type="button" value="浪起來" @click="lang"> <input type="button" value="停下來" @click="stop"> <h4>{{msg}}</h4> </div> <script> //註意:在VM實例中,如果想要獲取data上的數據,或者想要調用methods中的方法, // 必須通過this數據屬性名,或this 方法名來訪問,這裏的this就表示我們new出來的VM實例對象 const vm=new Vue({ el:‘#app‘, data:{ msg:‘猥瑣發育,別浪~‘, intervalId:null //在data上定義 定時器Id }, methods:{ lang(){ //console.log(this.msg);
if(this.intervalId!=null) return; //const _this=this; this.intervalId=setInterval( ()=> { //=> 箭頭外部的指示永遠和內部相同 this //獲取到頭的第一個字符 var start=this.msg.substring(0,1) //獲取到後面的所有字符 var end=this.msg.substring(1) //重新拼接得到新的字符串,並賦值給this.msg this.msg=end+start },400);
//註意:VM實例,會監聽自己身上data中所有數據的改變,只要數據一發生變化,就會自動把最新的數據, //從data上同步到頁面中去;[好處:程序員只需關心數據,不需要考慮如何重新渲染DOM頁面] }, stop(){ //停止計時器 clearInterval(this.intervalId) //每當清理定時器之後,需要重新把this.intervalId設置為null this.intervalId=null; }, } }) </script> </body> </html>

跑馬燈案例