vue鼠标hover(悬停)改变background-color移入变色问题

 更新时间:2022年10月10日 09:48:32   作者:533_  
这篇文章主要介绍了vue鼠标hover(悬停)改变background-color移入变色问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

鼠标 hover(悬停)改变 background-color

<div id="demo">
   <div @mouseenter="mouseEnter" 
        @mouseleave="mouseLeave" 
        :style="active">
               Hover over me!
   </div>
</div>
var demo = new Vue({
    el: '#demo',
    data: {
        active: ''
    },
    methods: {
        mouseEnter: function(){
            this.active = 'background-color: #cccccc';
        },
        mouseLeave: function () {
            this.active = '';
        },
    }
});

多个颜色 移入变色 变不一样的颜色

<div v-for="(item, index) in list" :key="index">
    <div
      class="dlItem"
      @mouseenter="handleMouseEnter(item)"
      @mouseleave="handleMouseLeave(item)"
      :style="{            
      backgroundColor: item.mouseFlag?hoverBgColor:dlColorList[item.name],
      }"
    >
     	{{item.name}} {{item.age}}
    </div>
</div>
  data() {
    return {
	    list: [
        {
          name: "a",
          age: 14,
        },
        {
          name: "b",
          age: 12,
        },
        {
          name: "c",
          age: 15,
        },
      ],
     dlColorList: {
        a: "yellow",
        b: "pink",
        c: "red",
      },
      hoverColorList: {
        a: "gray",
        b: "aqua",
        c: "brown",
      },
      hoverBgColor: "",
    }
}
// 移入
    handleMouseEnter(item) {
      // item.mouseFlag = true;
      this.$set(item,'mouseFlag',true);
      this.hoverBgColor = this.hoverColorList[item.name];
    },
    // 移出
    handleMouseLeave(item) {
      // item.mouseFlag = false;
      this.$set(item,'mouseFlag',false);
      this.hoverBgColor = '';
    },

鼠标悬停更换图片/文字内容,动态展示/修改某些属性

鼠标悬停时:@mouseenter 鼠标离开时:@mouseleave

利用以上来绑定相应方法,例如:

<div @mouseleave="changeImageSrc(1, '')" 
@mouseenter="changeImageSrc(1, 'hover')"> //分别为鼠标悬停时和离开时绑定方法changeImageSrc,并传递参数
          <img :src="circle" alt="" />   //为img绑定地址 circle,在data中声明
          <span class="span" ref="span1">金融多头借贷反欺诈</span>
          <div class="link-icon" ref="shape1"></div>
       </div>
 <div class="text"> {{text}} </div>. //为div绑定文字内容,在data中声明

data中示例:

data() {
    return {
     circle: require("@/assets/poc/circle.png"),
     text:'我是第一块..'
    };
  },

然后,方法中写出来你想改变的事。

 changeImageSrc (key, way) {
      let tempStr = way === 'hover' ? '-click' : ''  //若悬停,将“-click”后缀拼接到图片的名称里,即新图片的名称,鼠标离开则还加载旧图片
      let color = way === 'hover' ? '#8CF8FF' : '#FFFFFF' 
      let opacity = way === 'hover' ? '100%' : '0'    
      //通过传递的参数判断是否悬停,根据需求分别定义不同值的变量
      
      switch (key) {
        case 1:
          this.circle = require(`@/assets/poc/circle${tempStr}.png`)  //换图片 (新图片的名称就是拼接后的名称)
          this.$refs.span1.style.color = color  //为ref绑定的文字 更改颜色
          this.$refs.shape1.style.opacity = opacity //为ref绑定的内容 设置透明度(设置展示与否)
          this.text = '我是第一块' //悬停时更改文字
          break
      }
      //通过传递的参数  分别让不同的部件执行不同的内容
},

完结撒花~

(悬停事件失效时,记得打开控制台看一下报什么错,可能在你不知情的情况下有什么东西未定义,就阻挡了悬停事件的发生过程) 

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • vue实现动态路由添加功能的简单方法(无废话版本)

    vue实现动态路由添加功能的简单方法(无废话版本)

    ue动态路由(约定路由),听起来好像很玄乎的样子,但是你要是理解了实现思路,你会发现没有想象中的那么难,下面这篇文章主要给大家介绍了关于vue实现动态路由添加功能的简单方法,需要的朋友可以参考下
    2023-02-02
  • 解析Vue 2.5的Diff算法

    解析Vue 2.5的Diff算法

    本文将对于Vue 2.5.3版本中使用的Virtual Dom进行分析。updataChildren是Diff算法的核心,所以本文对updataChildren进行了图文的分析。下面通过本文给大家分享Vue 2.5的Diff算法,需要的朋友参考下吧
    2017-11-11
  • element ui el-date-picker组件默认值方式

    element ui el-date-picker组件默认值方式

    这篇文章主要介绍了element ui el-date-picker组件默认值方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • vue.js中toast用法及使用toast弹框的实例代码

    vue.js中toast用法及使用toast弹框的实例代码

    这篇文章主要介绍了vue.js中toast用法及使用toast弹框的实例代码,本文给大家介绍的非常详细,具有一定的参考借鉴加载,需要的朋友可以参考下
    2018-08-08
  • Vue2+element-ui实现面包屑导航

    Vue2+element-ui实现面包屑导航

    这篇文章主要为大家详细介绍了Vue2+element-ui使用面包屑导航的正确姿势,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 详解element-ui表格的合并行和列(非常细节)

    详解element-ui表格的合并行和列(非常细节)

    最近在需求中遇到了elementUI合并行,索性给大家整理下,这篇文章主要给大家介绍了关于element-ui表格的合并行和列的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • Vue如何使用ElementUI对表单元素进行自定义校验及踩坑

    Vue如何使用ElementUI对表单元素进行自定义校验及踩坑

    有一些验证不是通过input select这样的受控组件来触发验证条件的 ,可以通过自定义验证的方法来触发,下面这篇文章主要给大家介绍了关于Vue如何使用ElementUI对表单元素进行自定义校验及踩坑的相关资料,需要的朋友可以参考下
    2023-02-02
  • vue 兄弟组件的信息传递的方法实例详解

    vue 兄弟组件的信息传递的方法实例详解

    这篇文章主要介绍了vue 兄弟组件的信息传递的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • Vue注册模块与登录状态的持久化实现方法详解

    Vue注册模块与登录状态的持久化实现方法详解

    这篇文章主要介绍了Vue注册模块与登录状态的持久化实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Vue实现万年日历的示例详解

    Vue实现万年日历的示例详解

    又是一个老生常谈的功能,接下来会从零实现一个万年日历,从布局到逻辑,再到随处可见的打卡功能。文中的示例代码简洁易懂,需要的可以参考一下
    2023-01-01

最新评论