全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Vue.js鼠标悬浮更换图片功能

最近自己做的项目中设计师要求分类栏中鼠标悬停更换图片,大致实现出来的效果就是这样:

这个在jQuery中是个很简单的事,但是在vue中我还是第一次实现。

首先将所有的选中后图片都覆盖到没选中图片上

html代码如下

 <ul>
  <li>
  <a href="">
  <img src="../../../img/goods/study.png" alt="学习">
  <img class="hide_tab" src="../../../img/goods/study_1.png" alt="学习">
  </a>
  </li>
  <li>
  <a href="">
  <img src="../../../img/goods/life.png" alt="生活">
  <img class="hide_tab" src="../../../img/goods/life_1.png" alt="生活">
  </a>
  </li>
  <li>
  <a href="" >
  <img src="../../../img/goods/sport.png" alt="运动">
  <img class="hide_tab" src="../../../img/goods/sport_1.png" alt="运动">
  </a>
  </li>
  <li>
  <a href="">
  <img src="../../../img/goods/clothes.png" alt="服饰">
  <img class="hide_tab" src="../../../img/goods/clothes_1.png" alt="服饰">
  </a>
  </li>
  <li>
  <a href="" >
  <img src="../../../img/goods/hat.png" alt="鞋帽">
  <imgclass="hide_tab" src="../../../img/goods/hat_1.png" alt="鞋帽">
  </a>
  </li>
  <li>
  <a href="" >
  <img src="../../../img/goods/food.png" alt="食品">
  <img class="hide_tab" src="../../../img/goods/food_1.png" alt="食品">
  </a>
  </li>
  <li>
  <a href="">
  <img src="../../../img/goods/other.png" alt="其他">
  <img class="hide_tab" src="../../../img/goods/other_1.png" alt="其他">
  </a>
  </li>
 </ul>

css代码如下

.right {
 float: left;
 ul {
 margin-left: 1px;
 li {
  display: inline-block;
  margin-left: 12px;
  width: 100px;
  height: 100px;
  a{
  position: relative;
  display: inline-block;
  width: 100px;
  height: 100px;
  .hide_tab{
  position: absolute;
  bottom: 0;
  }
  }
 }
 }
 }

其实就是很简单的通过position:absolute进行了布局,现在选中样式的图片已经全部覆盖到了没有选中样式图片之上了。

接下来就需要一个变量控制他们的显隐。这个变量应该是一个和每个分类一一对应的,那这个变量就不应该是一个简单的布尔值,而是一个数字,和每个分类图片对应。

我定义这个变量叫做active,在data中声明

data(){
 return{
 active: 0
 }
}

再定义一个方法控制active变量的变化

showActive(index) {
 this.active = index;
}

方法中的index参数就是鼠标悬浮时传入的值

修改html代码如下

 <ul>
  <li>
  <a href="" @mouseenter="showActive(1)" @mouseleave="showActive(0)">
  <img src="../../../img/goods/study.png" alt="学习">
  <img v-show="active === 1" class="hide_tab" src="../../../img/goods/study_1.png" alt="学习">
  </a>
  </li>
  <li>
  <a href="" @mouseenter="showActive(2)" @mouseleave="showActive(0)">
  <img src="../../../img/goods/life.png" alt="生活">
  <img v-show="active === 2" class="hide_tab" src="../../../img/goods/life_1.png" alt="生活">
  </a>
  </li>
  <li>
  <a href="" @mouseenter="showActive(3)" @mouseleave="showActive(0)">
  <img src="../../../img/goods/sport.png" alt="运动">
  <img v-show="active === 3" class="hide_tab" src="../../../img/goods/sport_1.png" alt="运动">
  </a>
  </li>
  <li>
  <a href="" @mouseenter="showActive(4)" @mouseleave="showActive(0)">
  <img src="../../../img/goods/clothes.png" alt="服饰">
  <img v-show="active === 4" class="hide_tab" src="../../../img/goods/clothes_1.png" alt="服饰">
  </a>
  </li>
  <li>
  <a href="" @mouseenter="showActive(5)" @mouseleave="showActive(0)">
  <img src="../../../img/goods/hat.png" alt="鞋帽">
  <img v-show="active === 5" class="hide_tab" src="../../../img/goods/hat_1.png" alt="鞋帽">
  </a>
  </li>
  <li>
  <a href="" @mouseenter="showActive(6)" @mouseleave="showActive(0)">
  <img src="../../../img/goods/food.png" alt="食品">
  <img v-show="active === 6" class="hide_tab" src="../../../img/goods/food_1.png" alt="食品">
  </a>
  </li>
  <li>
  <a href="" @mouseenter="showActive(7)" @mouseleave="showActive(0)">
  <img src="../../../img/goods/other.png" alt="其他">
  <img v-show="active === 7" class="hide_tab" src="../../../img/goods/other_1.png" alt="其他">
  </a>
  </li>
 </ul>

只有在当前index和active相等时,才会显示已选中分类的图片。

而鼠标离开时,传入一个没有与之对应的0,这样就没有显示了。

本文已被整理到了《Vue.js前端组件学习教程》,欢迎大家学习阅读。

关于vue.js组件的教程,请大家点击专题vue.js组件学习教程进行学习。

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


# Vue.js鼠标悬浮更换图片  # Vue.js鼠标悬浮  # Vue.js更换图片  # 鼠标悬浮显示二级菜单效果的jquery实现  # 鼠标悬浮停留三秒后自动显示大图js代码  # vue实现鼠标经过显示悬浮框效果  # Vue实现鼠标悬浮切换图片src  # Vue实现鼠标经过文字显示悬浮框效果的示例代码  # 鼠标悬浮在树组件节点上展示当前节点名称的三种实现方式  # 鼠标  # 很简单  # 是一个  # 他们的  # 是个  # 上了  # 就不  # 才会  # 已被  # 请大家  # 欢迎大家  # 与之  # 大家多多  # 进行了  # 栏中  # 应该是  # 我还是  # 但是在  # 布尔值  # href 


相关文章: 家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  济南企业网站制作公司,济南社保单位网上缴费步骤?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何快速查询网址的建站时间与历史轨迹?  非常酷的网站设计制作软件,酷培ai教育官方网站?  存储型VPS适合搭建中小型网站吗?  如何通过IIS搭建网站并配置访问权限?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  上海网站制作开发公司,上海买房比较好的网站有哪些?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  中山网站制作网页,中山新生登记系统登记流程?  盘锦网站制作公司,盘锦大洼有多少5G网站?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  建站主机如何选?性能与价格怎样平衡?  建站之星价格显示格式升级,你的预算足够吗?  建站主机数据库如何配置才能提升网站性能?  交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  简单实现Android文件上传  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  网站网页制作专业公司,怎样制作自己的网页?  建站主机与虚拟主机有何区别?如何选择最优方案?  定制建站价位费用解析与套餐推荐全攻略  Python多线程使用规范_线程安全解析【教程】  ,制作一个手机app网站要多少钱?  长沙企业网站制作哪家好,长沙水业集团官方网站?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  如何选择美橙互联多站合一建站方案?  大连 网站制作,大连天途有线官网?  如何在橙子建站上传落地页?操作指南详解  如何制作网站标识牌,动态网站如何制作(教程)?  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  建站之星Pro快速搭建教程:模板选择与功能配置指南  如何在IIS中新建站点并配置端口与IP地址?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  油猴 教程,油猴搜脚本为什么会网页无法显示?  济南专业网站制作公司,济南信息工程学校怎么样?  香港服务器如何优化才能显著提升网站加载速度?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  太原网站制作公司有哪些,网约车营运证查询官网?  建站主机功能解析:服务器选择与快速搭建指南  Python lxml的etree和ElementTree有什么区别  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  小程序网站制作需要准备什么资料,如何制作小程序?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  武清网站制作公司,天津武清个人营业执照注销查询系统网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。