前言
昨天在项目开发中遇到了一个需要展示多张图片到一个容器中的需求,每张图片在鼠标移入时都要更换图片路径,展示一个新的图片,由于每张图片大小都在2~6kb之间,webpack中配置了图片在10kb以内自动转换base64,所有就有了本篇文章的分享。先给大家展示下最后要实现的效果
实现思路
- 给每个元素添加@mouserover事件和@mouseleave事件
- 绑定函数,传用于识别当前参数的标识
- 根据所传参数判断当前状态下应该显示什么图片
解析渲染
实现过程
从json文件中读取图片信息集合,循环渲染json文件中的图片,传当前元素和当前图片的一些信息过去
<div class="row-panel"> <div class="item-panel" v-for="item in this.emojiList" :key="item.info"> <img :src="/UploadFiles/2021-04-02/${item.src}`)">引入json文件,并在data()中声明
import emoji from '../assets/json/emoji'; data() { return { emojiList:emoji, toolbarList:toolbar } }实现鼠标移入移除替换图片的函数
// 表情框鼠标悬浮显示动态表情 emojiConversion:function (event,status,path,hoverPath) { if(status==="over"){ event.target.src = require(`../assets/img/emoji/${hoverPath}`); }else{ event.target.src = require(`../assets/img/emoji/${path}`); } } emoji.json [ { "name": "pout", "src": "1fix@2x.png", "info": "撇嘴", "hover": "1@2x.gif" }, { "name": "porn", "src": "2fix@2x.png", "info": "色", "hover": "2@2x.gif" }, { "name": "smile", "src": "14fix@2x.png", "info": "微笑", "hover": "14@2x.gif" }, { "name": "smile", "src": "178fix@2x.png", "info": "滑稽", "hover": "178@2x.gif" } ]踩坑过程
错误的使用require
// 这样直接在data中写文件路径没问题,可以正常渲染 emojiSrc:{ "funny":require("../assets/img/emoji/178fix@2x.png"), "funnyNormal":require("../assets/img/emoji/178fix@2x.png"), "funnyHover":require("../assets/img/emoji/178@2x.gif"), "smile":require("../assets/img/emoji/14fix@2x.png"), "smileNormal":require("../assets/img/emoji/14fix@2x.png"), "smileHover":require("../assets/img/emoji/14@2x.gif"), "pout":require("../assets/img/emoji/1fix@2x.png"), "poutNormal":require("../assets/img/emoji/1fix@2x.png"), "poutHover":require("../assets/img/emoji/1@2x.gif"), "porn":require("../assets/img/emoji/2fix@2x.png"), "pornNormal":require("../assets/img/emoji/2fix@2x.png"), "pornHover":require("../assets/img/emoji/2@2x.gif"), }渲染结果:
但是如果在json文件中写文件的路径,渲染结果(无法识别文件路径):
解决方案:使用模板字符串,json文件只写文件名,文件路径写在当前组件
require的正确使用方式
require(`../assets/img/emoji/${hoverPath}`);总结
以上所述是小编给大家介绍的Vue实现base64编码图片间的切换功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年12月25日
2024年12月25日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]