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('图片加载失败')
}
}
}
效果:
[Haima的博客]
http://www.cnblogs.com/haima/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2021-01-16 github、gitee冲突配置ssh key
2020-01-16 linux定时任务crontab 周期执行任务
2020-01-16 golang sort —— 排序算法
2019-01-16 43_2.VUE学习之--不使用组件computed计算属性超简单的实现美团购物车原理