vue+js实现点击图片,图片放大
1.首先在template中插入image,并赋予点击事件(这个时候是小图)
<template> <div> <img src="@/assets/images/avatar.png" @click="imgShow()" /> </div> </template>
2.data定义点击放大的图片url,imageUrl为点击后放大的大图的url
data() { return { imageUrl: require('@/assets/images/avatar.png') } },
3.定义方法
methods: { imgShow() { const image = new Image() image.src = this.imageUrl image.onload = () => { //创建弹出层 const previewContatiner = document.createElement('div') previewContatiner.style.position = 'fixed' previewContatiner.style.top = 0 previewContatiner.style.bottom = 0 previewContatiner.style.left = 0 previewContatiner.style.right = 0 previewContatiner.style.zIndex = 9999 previewContatiner.style.backgroundColor = 'rgba(0,0,0,0.8)' previewContatiner.style.display = 'flex' previewContatiner.style.justifyContent = 'center' previewContatiner.style.alignItems = 'center' document.body.appendChild(previewContatiner) //在弹出层增加图片 const previewImage = document.createElement('img') previewImage.src = this.imageUrl previewImage.style.maxWidth = '80%' previewImage.style.maxHeight = '80%' previewImage.style.zIndex = 9999 previewContatiner.appendChild(previewImage) //点击弹出层,关闭预览 previewContatiner.addEventListener('click', () => { document.body.removeChild(previewContatiner) }) } image.onerror = function () { console.log('图片加载失败') } } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix