Vue3实现跑马灯效果,还能换颜色哦~

本文通过Vue3创建一个跑马灯效果,并能动态改变颜色。讲解了HTML、CSS和Vue部分的代码实现,包括使用`:class`指令绑定颜色、CSS样式设置和Vue事件处理,以及利用字符串截取实现文字滚动的定时器逻辑。

亲们先看效果:

html部分代码

<div class="app">
			<p :class="{tabcolor:color}">{{str}}</p>
			<button @click="play">开始</button>
			<button @click="stop">停止</button>
		</div>

注意: :class="{tabcolor:color}" 是给<p></p>标签内的文字加上一个颜色,当我们点击开始按钮的时候。 

CSS部分代码

.tabcolor {
				color: cornflowerblue;
			}

 CSS部分的代码很简单,就是给了一个添加颜色的类。

Vue部分代码

Vue.createApp({
			data() {
				return {
					str: "你好啊,我是稳重聪头~",
					id: null,
					color: false,
				}
			},
			methods: {
				play() {
					clearInterval(this.id);
					this.color = !this.color;
					this.id = setInterval(() => {
						this.str = this.str.slice(1) + this.str.slice(0, 1)
					}, 800)
				},
				stop() {
					clearInterval(this.id);
					this.color = false;
				}
			}
		}).mount(".app")

分析:

  1. data上定义一个字符串,这个字符串就是要在<p></p>标签里进行滚动的。
  2. 给开始和关闭按钮,绑定事件:v-on; @cliick就是v-on的简写。
  3. 在按钮的事件函数中,写相关的业务逻辑代码:拿到str字符串,然后 调用字符串 slice 来进行字符串的截取操作,把第一个字符截取出来,放到最后一个位置即可。
  4. 为了实现最终结果,自动截取的功能,需要把步骤三的代码放到一个定时器中去。

最后在送上完整代码 

<!DOCTYPE html>
<html lang="en">

	<head>
		<meta charset="UTF-8">
		<meta http-equiv="X-UA-Compatible" content="IE=edge">
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
		<title>Document</title>
		<script src="./js/vue.js"></script>
		<style type="text/css">
			.tabcolor {
				color: cornflowerblue;
			}
		</style>
	</head>

	<body>
		<div class="app">
			<p :class="{tabcolor:color}">{{str}}</p>
			<button @click="play">开始</button>
			<button @click="stop">停止</button>
		</div>
	</body>
	<script>
		Vue.createApp({
			data() {
				return {
					str: "你好啊,我是稳重聪头~",
					id: null,
					color: false,
				}
			},
			methods: {
				play() {
					clearInterval(this.id);
					this.color = !this.color;
					this.id = setInterval(() => {
						this.str = this.str.slice(1) + this.str.slice(0, 1)
					}, 800)
				},
				stop() {
					clearInterval(this.id);
					this.color = false;
				}
			}
		}).mount(".app")
	</script>
</html>

贴贴们,来个赞呗~

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

稳重聪头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值