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('图片加载失败')
}
}
}
效果:
参考下面的文档
https://www.cnblogs.com/zengyu123/p/17807768.html
vue+js实现点击图片,图片放大的更多相关文章
- vue.js click点击事件获取当前元素对象
Vue.js可以传递$event对象 <body id="app"> <ul> <li v-on:click="say('hello!', ...
- vue.js 独立引用css文件图片路径错误
vue的环境是用vue-cli,写在vue文件的图片引用build之后的路径都没什么问题 但是有的时候我们会有一些公共的css文件单独的放在assets目录下 如下图所示 这里当build后发现写在c ...
- js实现点击隐藏图片
方法一: 把图片的display设为none,触发点击事件时,display变为block <style> img { width: 400px;height: 300px; displa ...
- vue.js+DRF跨域访问图片
一.背景 在前后端分离过程时,后端服务器只开放本地接口,而前端则开放IP接口,在DRF响应请求时,会把域名(locahost+port)响应给前端服务器,前端服务器把再把数据响应给浏览器,浏览器在解析 ...
- vue.js 实现点击展开收起动画
最近公司项目加了个页面,其中要求是这样的,点击对应列表,展开和收起, 其实就是显示和隐藏内容部分:说来惭愧,我花了半天时间才搞出来(自黑一下~), ,,接下来分享给大家,先上效果图: .vue页面: ...
- Vue.js @click点击无效?
原因, 那个点击的元素, 没有在 <div id="app"></div>里面
- vue.js 防暴力点击方案
import lodash from 'lodash' <input v-on:onclick ="doStuff">methods: { doStuff:loadsh ...
- vue.js如何根据后台返回来的图片url进行图片下载
最近在做一个前端vue.js对接的功能模块时,需要实现一个下载图片的功能,后台返回来的是一串图片url,试了很多种方法,发现点击下载时出来的效果都是跳着到一个新的图片网页,后来经过一番琢磨,终于解决了 ...
- Js 框架之Vue .JS学习记录 ① 与Vue 初识
目录 与 Vue.js 认识 VUE.JS是个啥?有啥好处? Vue 的目标 战前准备 VUE.JS环境 VUE.JS 尝试一下,你就明白 第一步 实例化VUE 对象 第二步VueAPP 调用数据 ...
- Spring Boot +Vue 项目实战笔记(一):使用 CLI 搭建 Vue.js 项目
前言 从这篇文章开始,就进入真正的实践了. 在前端项目开发中,我们可以根据实际情况不同程度地使用 Vue.利用 Vue CLI(或写成 vue-cli,即 Vue 脚手架)搭建出来的项目,是最能体现 ...
随机推荐
- KingbaseES V8R6 集群运维案例之 -- VIP配置错误导致集群切换失败
案例说明: KingbaseES V8R6集群的vip在repmgr.conf中配置,本案例测试了手工卸载和加载vip的操作,对failover切换时vip的卸载和加载的影响. 适用版本: Kingb ...
- markdown 常用表情符号 (github emoji)
markdown 常用表情(emoji) 官网[非笔者维护,仅做引用] Face Smiling 咧嘴笑 grinning 汗颜笑 sweat_smile 爆笑 rofl 眨眼笑 wink innoc ...
- 一篇文章了解CI/CD管道全流程
从CI/CD过程开始,包含所有阶段并负责创建自动化和无缝的软件交付的一系列步骤称为CI/CD管道工作流.使用CI/CD管道,软件发布工件可以从代码提交阶段到测试.构建.部署和生产阶段在管道中移动和前进 ...
- Cesium 根据飞机航线计算飞机的Heading(偏航角)、Pitch(俯仰角)、Roll(翻滚角)
需求 设置飞机的一些坐标位置(经纬度高度),插值得到更多的坐标位置,然后飞机按照这些坐标集合形成的航线飞行,飞机的朝向.俯仰角以及飞机转弯时的翻转角根据坐标集合计算得出,而不需要手动设置heading ...
- #平衡树#洛谷 2611 [ZJOI2012]小蓝的好友
题目 在 \(R\times C\) 的矩形中,问有多少个子矩形使得存在一个给定点在其中, 保证点随机,\(R,C\leq 4\times 10^4,n\leq 10^5\) 分析 考虑容斥,用总方案 ...
- SSL新年欢乐赛暨BPM退役赛(不含FK)
目录 前言 C 大水题 题目 分析 代码 D 简单数据结构题 题目 分析 代码 H 上次题 题目 分析 代码 J 白给题 题目 分析 代码 前言 A,B水题,E,I原题 实际赛时400分(乐多毁我青春 ...
- #后缀数组,单调队列#洛谷 2852 [USACO06DEC]Milk Patterns G
题目 给定一个长度为\(n\)的字符串,求出现至少\(k\)次的最长子串长度 分析 由于后缀排序后的LCP才是最长的,既然要求至少\(k\)次, 实际上也就是维护长度为\(k\)的height数组最小 ...
- OpenCV一句话将彩色图片(Mat)转换为灰度
auto in_gray=cv::imdecode(in, cv::IMREAD_GRAYSCALE);
- 简洁,快速的bv号转av号 c++实现
加了一部分预处理,变得更高效了 继承自朋友这里 #include <iostream> #include <string> using namespace std; const ...
- 如何使用ODBC应用程序接口连接数据库
如何使用 ODBC 应用程序接口连接数据库? 安装 unixODBC. yum install -y unixODBC yum install -y unixODBC-devel 下载并安装 open ...