最近自己做的项目中设计师要求分类栏中鼠标悬停更换图片,大致实现出来的效果就是这样:
这个在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小时内与您取得联系。