Vue实现鼠标悬浮切换图片src

本文实例为大家分享了Vue实现鼠标悬浮切换图片src的具体代码,供大家参考,具体内容如下

需求:

1. 鼠标悬浮到图示按钮上面,图片切换成灰色按钮
2. 鼠标离开图示按钮,图片切换成回白色按钮

Html部分:

<!-- 如果此处的两个鼠标事件不生效,可以在mouseenter后面添加.native后缀 -->
<div class="left-btn"
     @click="saveTemplate()"
     @mouseenter="changeImageSrc(1, 'hover')"
     @mouseleave="changeImageSrc(1, '')">
  <img :src="saveTemplateSrc"
       class="left-btn-img"
       alt="">
  <span class="left-btn-text">保存模板</span>
</div>
<div class="left-btn"
     @click="deleteSelectStock()"
     @mouseenter="changeImageSrc(2, 'hover')"
     @mouseleave="changeImageSrc(2, '')">
  <img :src="deleteSelectStockSrc"
       class="left-btn-img"
       alt="">
  <span class="left-btn-text">删除选中行</span>
</div>
<div class="left-btn"
     @click="deleteTableData()"
     @mouseenter="changeImageSrc(3, 'hover')"
     @mouseleave="changeImageSrc(3, '')">
  <img :src="deleteTableDataSrc"
       class="left-btn-img"
       alt="">
  <span class="left-btn-text">清空当前表格</span>
</div>

Js部分:

// 在data中先定义图片的初始src
saveTemplateSrc: require("@/assets/dataBrowser/saveTemplate.png"),
deleteSelectStockSrc: require("@/assets/dataBrowser/deleteSelectedRow.png"),
deleteTableDataSrc: require("@/assets/dataBrowser/clearCurrentList.png")
 
// 在methods中绑定鼠标悬浮事件
changeImageSrc (key, way) {
  let tempStr = way === 'hover' ? 'Hover' : ''
  switch (key) {
    case 1:
      this.saveTemplateSrc = require(`@/assets/dataBrowser/saveTemplate${tempStr}.png`)
      break
    case 2:
      this.deleteSelectStockSrc = require(`@/assets/dataBrowser/deleteSelectedRow${tempStr}.png`)
      break
    case 3:
      this.deleteTableDataSrc = require(`@/assets/dataBrowser/clearCurrentList${tempStr}.png`)
      break
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Vue鼠标滚轮滚动切换路由效果的实现方法

    一个根路由组件(app下的根路由组件, 需要滚动切换的作为其子组件) 在根路由组件添加鼠标滚动时间监听, 在mounted中调用监听 当跳转到其他路由(跳出这个根路由时), 根路由组件会被销毁, 因此在根路由的destroed钩子函数中清除掉事件监听 Vue路由切换过渡 vue的过渡 <transition :name="transitionName"> <div></div> </transition> 使用transition 包裹需

  • Vue实现base64编码图片间的切换功能

    前言 昨天在项目开发中遇到了一个需要展示多张图片到一个容器中的需求,每张图片在鼠标移入时都要更换图片路径,展示一个新的图片,由于每张图片大小都在2~6kb之间,webpack中配置了图片在10kb以内自动转换base64,所有就有了本篇文章的分享.先给大家展示下最后要实现的效果 实现思路 给每个元素添加@mouserover事件和@mouseleave事件 绑定函数,传用于识别当前参数的标识 根据所传参数判断当前状态下应该显示什么图片 解析渲染 实现过程 从json文件中读取图片信息集合,循环渲

  • vue卡片式点击切换图片组件使用详解

    本文实例为大家分享了vue卡片式点击切换图片组件,供大家参考,具体内容如下 因为公司业务的问题,最近在写vue项目,有了一个卡片图片的点击的需求,自己又不想写动画效果,就偷个懒,采用vue是以数据驱动的原理,写了一个不太完整的vue组件,为了简单,就直接上代码吧 全部代码 未进行props传参设置,以后完善(简单最好嘛) <template> <!-- *以数据驱动的card式展示图片(无动画效果) * --> <div class="cardBanner"

  • vue实现滚动鼠标滚轮切换页面

    本文实例为大家分享了vue实现滚动鼠标滚轮切换页面的具体代码,供大家参考,具体内容如下 新项目产品被甲方的要求逼疯了,大概返稿了100+次吧,最后甲方网上找了个他们认为的比较有科技感的模板,让我们照着写,首页就是类似于纵向走马灯,鼠标滚动切换,一次切换一整屏的效果.之前没接触过,写了个简单的demo,仅作为学习笔记. 其实原理很简单,就是把所有页面放在一个div中,然后滚动的时候改变外层div的top即可. 因为滚动条监听事件是实时的,所以要加上节流来防止页面切换太快速,我这控制在1.5s才能切

  • vue实现图片切换效果

    本文实例为大家分享了vue实现图片切换效果的具体代码,供大家参考,具体内容如下 1)v-if/v-show 二者都可以实现让元素隐藏和显示.但是实现原理不同: v-if 是通过将元素从dom树中移除和添加来实现元素的隐藏和显示效果. v-show 是通过修改元素的displace值来实现元素的隐藏和显示效果. 2)v-bind v-bind可以对元素的属性值进行修改. 基于这些背景知识,下面来实现图片切换实例. 功能需求 1)点击左边按钮,显示前一张图片:如果图片是第一张,则隐藏该按钮 2)点击

  • vue实现按钮切换图片

    本文实例为大家分享了vue实现按钮切换图片的具体代码,供大家参考,具体内容如下 Tab选项卡 实现步骤 1.实现静态UI效果 用传统的方式实现标签结构和样式 2.基于数据重构UI效果 将静态的结构和样式重构为基于Vue模板语法的形式 处理事件绑定和js控制逻辑 设置基本样式 { overflow: hidden; padding: 0; margin: 0; } .tab ul li { box-sizing: border-box; padding: 0; float: left; width

  • vue使用swiper实现左右滑动切换图片

    本文实例为大家分享了vue使用swiper实现左右滑动切换图片的具体代码,供大家参考,具体内容如下 使用npm 安装vue-awesome-swiper npm install vue-awesome-swiper --save 在main.js中引用 import VueAwesomeSwiper from 'vue-awesome-swiper' Vue.user(VueAwesomeSwiper) import 'swiper/dist/css/swiper.css' 在组件中使用 <te

  • Vue实现简单图片切换效果

    本文实例为大家分享了Vue实现简单图片切换的具体代码,供大家参考,具体内容如下 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <title>

  • vue+js点击箭头实现图片切换

    本文实例为大家分享了vue+js点击箭头实现图片切换的具体代码,供大家参考,具体内容如下 前端需求是 返回的图片数据能够点击箭头切换 代码如下 <div class="pubuItemsBox"> <!-- 修改部分5.23晚 --> <template v-for="(orderEvent, index) in orderEventList" > <div :class="{'pubuItem':true, 'n

  • vue自定义js图片碎片轮播图切换效果的实现代码

    定义一个banner.js文件,代码如下 ;window.requestAnimationFrame = window.requestAnimationFrame||function(a){return setTimeout(a,1000/60)}; window.cancelAnimationFrame = window.cancelAnimationFrame||clearTimeout; var FragmentBanner = function(option) { //实例化时,可传的参

随机推荐