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

想要实现鼠标hover(悬停)时改变元素的背景颜色,可以使用Vue的绑定事件@mouseover@mouseout。具体步骤如下:

  1. 首先,给需要实现鼠标悬停变色的元素绑定一个v-bind样式,样式名称可以是你自己定义的,例如hoverColor。同时,需要定义两个背景颜色变量,一个代表平时的背景颜色,另一个代表鼠标悬停时的背景颜色。
<template>
  <div class="container">
    <div class="box" :class="{hoverColor: isHover}" @mouseover="hover=true" @mouseout="hover=false">
      Hover Over Me
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isHover: false,
      normalBGColor: "#f1f1f1",
      hoverBGColor: "#666"
    };
  }
};
</script>

<style>
.box {
  width: 200px;
  height: 200px;
  background-color: #f1f1f1;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 26px;
}
.hoverColor {
  background-color: #666;
  color: #fff;
}
</style>
  1. 在template中绑定class属性,将绑定的样式设置为鼠标悬停时的样式。具体做法是通过一个计算属性isHover来判断当前鼠标是否悬停在元素上。只有在isHover为true时,才应用hoverColor样式。
<template>
  <div class="container">
    <div class="box" :class="{hoverColor: isHover}" @mouseover="isHover=true" @mouseout="isHover=false">
      Hover Over Me
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isHover: false,
      normalBGColor: "#f1f1f1",
      hoverBGColor: "#666"
    };
  },
  computed: {
    hoverColor() {
      return this.isHover ? "hoverColor" : "";
    }
  }
};
</script>

<style>
.box {
  width: 200px;
  height: 200px;
  background-color: #f1f1f1;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 26px;
}
.hoverColor {
  background-color: #666;
  color: #fff;
}
</style>

以上就是实现Vue鼠标悬停变色的整个过程。

下面附上两个示例:

  1. 用 Vue 实现鼠标hover切换图片的效果
<template>
  <div class="container">
    <img :src="currentImg" @mouseover="currentImg=hoverImg" @mouseout="currentImg=normalImg"/>
  </div>
</template>

<script>
export default {
  data() {
    return {
      normalImg: "https://placekitten.com/200/200",
      hoverImg: "https://placekitten.com/201/201",
      currentImg: "https://placekitten.com/200/200"
    };
  }
};
</script>

<style>
img {
  width: 200px;
  height: 200px;
}
</style>
  1. 用 Vue 实现鼠标hover改变文字颜色的效果:
<template>
  <div class="container">
    <div class="box" :class="{hoverColor: isHover}" @mouseover="isHover=true" @mouseout="isHover=false">
      Hover Over Me
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isHover: false,
      normalTextColor: "#333",
      hoverTextColor: "red"
    };
  },
  computed: {
    hoverColor() {
      return this.isHover ? "hoverColor" : "";
    }
  }
};
</script>

<style>
.box {
  width: 200px;
  height: 200px;
  background-color: #f1f1f1;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 26px;
  color: #333;
}
.hoverColor {
  color: red;
}
</style>

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue鼠标hover(悬停)改变background-color移入变色问题 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • jquery 输入框查找关键字并提亮颜色的实例代码

    首先,我们需要引入jQuery库,因为我们将使用jQuery库的一些方法。 <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> 然后,我们需要在HTML中定义一个输入框和一个展示搜索结果的容器: &…

    css 2023年6月11日
    00
  • jquery实现的带缩略图的焦点图片切换(自动播放/响应鼠标动作)

    jQuery实现带缩略图的焦点图片切换(自动播放/响应鼠标动作)攻略 1. 准备工作 在实现本攻略前,我们需要准备以下内容: 最新版的jQuery库,在编写代码时建议使用jQuery v3.x 版本; Html页面中,包含用于展示焦点图片切换的元素,例如id为carousel-container的元素用于显示切换的图片; Html页面中,包含用于展示缩略图的…

    css 2023年6月10日
    00
  • JavaScript中无法通过div.style.left获取值的解决方法

    当我们想要获取页面元素的某个样式属性值时,通常可以使用元素对象的style属性来获取。例如,我们可以使用div.style.left获取div元素的左侧偏移量。但是,在JavaScript中,我们有时会遇到无法通过这种方式获取元素属性值的情况。这种情况通常发生在我们想要获取CSS样式表中定义的样式属性值时,例如异步加载的CSS文件渲染完成后,我们想要获取其中…

    css 2023年6月10日
    00
  • 利用jquery和BootStrap实现动态滚动条效果

    接下来我将详细讲解如何利用 jquery 和 Bootstrap 实现动态滚动条效果。本攻略分为以下几步: 1. 引入必需的资源文件让网页使用 jquery 和 Bootstrap 在 HTML 代码中引入以下两行代码,使得网页可以使用 jquery 和 Bootstrap: <!– 引入 jquery –> <script src=&…

    css 2023年6月10日
    00
  • 如何在CSS中绘制曲线图形及展示动画

    在CSS中,可以使用贝塞尔曲线(Bezier Curve)来绘制曲线图形,并使用CSS动画来展示动态效果。以下是如何在CSS中绘制曲线图形及展示动画的完整攻略: 基本步骤 在CSS文件中添加以下代码,使用贝塞尔曲线绘制曲线图形: .curve { width: 200px; height: 200px; background-color: #ccc; pos…

    css 2023年5月18日
    00
  • php基于openssl的rsa加密解密示例

    以下是基于OpenSSL的RSA加密解密示例攻略。 简介 RSA是一种非对称加密算法,可以实现数据加密与解密。OpenSSL是一个常用的加密算法库,内置了RSA算法,可以用PHP来调用。 准备工作 首先需要安装OpenSSL扩展,可以在php.ini中开启或者通过命令行启用。可以使用 openssl_get_cipher_methods()函数来检查Open…

    css 2023年6月10日
    00
  • 清理无用的CSS样式比较有用的几个工具

    清理无用的CSS样式是优化网站性能的一个重要步骤之一。下面是使用比较有用的工具来清理无用的CSS样式的攻略,主要分为以下两个步骤: 第一步:查找无用的CSS 查找无用的CSS有多种方法,比如手动查找、使用浏览器开发者工具等。但是手动查找会十分麻烦、费时,并且容易漏掉一些细节,因此推荐使用一些工具来自动化查找无用的CSS。下面介绍几个比较有用的工具。 1.1 …

    css 2023年6月9日
    00
  • css3背景图片透明叠加属性cross-fade简介及用法实例

    CSS3背景图片透明叠加属性cross-fade可以实现在两张图片之间进行淡入淡出的渐变过渡,让网页的视觉效果更加丰富。 1. cross-fade属性的基本语法及参数说明 cross-fade属性的基本语法如下: background-image: cross-fade( <percentage>, <image1>, <im…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部