vue实现鼠标点击改变颜色

本文介绍如何使用Vue.js和CSS实现一个列表组件,通过点击事件动态更改元素背景色。当active状态变为0时,第一个项默认变为skyblue。核心代码展示了前端开发中组件交互的基本原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HTML文件:

<div v-for="(item,index) in collimatorlist" v-bind:key="item.id" class="listchoice">
	<div class="choice" :class="active==index ? 'activeClass1' : 'activeClass2'" 
                                                            @click="isClick(index)">
		<div class="underline">
			<span class="number">{{item.number}}</span>
		</div>
	    <div class="millimeter">
		    <span class="millimeterNumber">{{item.millimeter}}mm</span>
	    </div>
	</div>
</div>

CSS文件:

.activeClass1 {
	background-color: green;
}
.activeClass2 {
	background-color: skyblue;
}

JS文件:

export default {
    el: "app",
    data() {
        return {
            avtive: -1
        }
    },
    method() {
        isClick(index) {
			this.active=index
		},
    }

}

注意:active=0时,会有默认值,未点击目标时,第一个标签也会改变成skyblue,如下图:

           

           avtive=-1时,页面不会显示改变后的颜色,如下图:

          

 

实现Vue鼠标移动改变颜色的效果,可以按照以下步骤进行操作: 1. 首先,在Vue实例的data中添加一个变量,用来保存当前鼠标所在元素的索引值。可以将其命名为`currentHoverIndex`。 2. 接下来,通过添加一个`@mouseover`事件监听器,在鼠标移动到某个元素上时,将当前鼠标所在元素的索引值赋值给`currentHoverIndex`。 3. 在模板中,为每个需要改变颜色的元素添加一个条件判断,如果当前元素的索引值等于`currentHoverIndex`,则添加一个`active`类名,这个类名在CSS中设置了红色的字体颜色。 下面是修后的代码示例: ```html <div id="app"> <ul> <li v-for="(item, index) in movies" :class="{ active: currentHoverIndex === index }" @mouseover="changeHoverIndex(index)"> {{ item }} </li> </ul> </div> <script type="text/javascript"> var app = new Vue({ el: "#app", data: { movies:['海王', '黑猫警长', '海尔兄弟', '火影忍者', '进击的巨人'], currentHoverIndex: -1 // 初始化为-1,表示没有元素被鼠标移动到 }, methods: { changeHoverIndex(index) { this.currentHoverIndex = index; } } }); </script> ``` 在上述代码中,我们使用了`mouseover`事件,当鼠标移动到某个元素上时,会触发`changeHoverIndex`方法,将当前元素的索引值传递给该方法,并更新`currentHoverIndex`的值。然后,在模板中根据`currentHoverIndex`与当前元素的索引值是否相等来判断是否添加`active`类名,从而改变颜色。 这样,当鼠标移动到某个元素上时,该元素的文本颜色就会变为红色。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值