用vue,箭头函数写跑马灯效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>跑马灯效果</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<input type="button" value="浪起来" @click="lang">
<input type="button" value="低调" @click="stop">
<h4>{{msg}}</h4>
</div>
<script>
// 清理定时器id时,最好放在data里面
var vm = new Vue({
el:"#app",
data:{
msg:"猥琐发育,别浪~~!",
intervalId: null,//定时器id
},
methods:{
lang () {
//箭头函数的里面的this永远指向本实例的(var vm = new Vue({}))的this
// 判断一下intervalId 是不是为null
// if(this.intervalId != 'null') return;
if(this.intervalId != null) return;
this.intervalId = setInterval(()=>{
// 获取第一个字符串
var start = this.msg.substring(0,1)
// 获取除了第一个剩下的字符串
var end = this.msg.substring(1)
// 重新拼接得到的字符串,并赋值给 this.msg
this.msg = end + start
},400)
},
stop () {
clearInterval(this.intervalId)
// 每当清除了定时器之后
this.intervalId = null
}
}
})
</script>
</body>
</html>