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> {{mess}} </h4>
</div>
</body>
<script>
var vm = new Vue({
el: "#app",
data: {
mess: "猥琐发育,别浪!!!",
timer:""
},
methods: {
lang() {
if(this.timer!="") return; //每次被点击了,就清除定时器,避免多次点击,越跑越快
this.timer = setInterval(() => {
const start = this.mess.substring(0, 1)//获取到第一个字符
const end = this.mess.substring(1)//获取到第一个后面的字符
this.mess = end + start//重新组成新的数据
}, 300)
},
stop() {
clearInterval(this.timer);
this.timer="" //每次清除了定时器,就让定时器重新赋值为空
}
}
})
</script>
</html>