vue实现点击图片放大效果


Posted in Javascript onAugust 15, 2017

本文实例为大家分享了vue点击图片放大展示的具体代码,供大家参考,具体内容如下

1.建立子组件,来实现图片方法功能: BigImg.vue

<template>
  <!-- 过渡动画 -->
  <transition name="fade">
   <div class="img-view" @click="bigImg">
  

 <!-- 遮罩层 -->
  

 <div class="img-layer"></div>
  

 <div class="img">
  


 <img :src="imgSrc">
  

 </div>
  
</div>

</transition>
</template>
<script>

export default {


props: ['imgSrc'],//接受图片地址


methods: {



bigImg() {



// 发送事件




this.$emit('clickit')



}


}

}
</script>
<style scoped>

/*动画*/

.fade-enter-active,

.fade-leave-active {


transition: all .2s linear;


transform: translate3D(0, 0, 0);

}

.fade-enter,

.fade-leave-active {


transform: translate3D(100%, 0, 0);

}
 

/* bigimg */

.img-view {


position: inherit;


width: 100%;


height: 100%;

}

/*遮罩层样式*/

.img-view .img-layer {


position: fixed;


z-index: 999;


top: 0;


left: 0;


background: rgba(0, 0, 0, 0.7);


width: 100%;


height: 100%;


overflow: hidden;

}

/*不限制图片大小,实现居中*/

.img-view .img img {


max-width: 100%;


display: block;


position: absolute;


left: 0;


right: 0;


margin: auto;


z-index: 1000;

}
</style>

2.在父类中使用子组件:

<template xmlns:v-on="http://www.w3.org/1999/xhtml">
<div class="contents">


<div class="group">



<div class="special">




<span v-text="pagedata.subtitle"></span>



</div>



<span class="text-muted" v-text="pagedata.headline"></span>



<div class="group_img">




<!-- 放大图片 -->




<big-img v-if="showImg" @clickit="viewImg" :imgSrc="imgSrc"></big-img>
 





<div class="text" v-text="pagedata.article"></div>




<img id="smallImg" :src="pagedata.imgurl" @click="clickImg($event)">



</div>


</div>

</div>
</template>
 
<script>
import BigImg from '../../index/moduleStyles/BigImg.vue';
export default {

data () {


return {



showImg:false,



imgSrc: ''


}

},

props: ['pagedata'],

computed: {},

components: { 'big-img':BigImg},

methods: {


clickImg(e) {



this.showImg = true;



// 获取当前图片地址



this.imgSrc = e.currentTarget.src;


},


viewImg(){



this.showImg = false;


},

},

watch: {},
}
</script>
<style>
</style>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery $.ajax()取xml数据的小问题解决方法
Nov 20 Javascript
javascript标签在页面中的位置探讨
Apr 11 Javascript
js实现滑动触屏事件监听的方法
May 05 Javascript
javascript 应用小技巧方法汇总
Jul 05 Javascript
javascript拖拽效果延伸学习
Apr 04 Javascript
使用jQuery调用XML实现无刷新即时聊天
Aug 07 Javascript
vue2.0开发实践总结之疑难篇
Dec 07 Javascript
图片懒加载插件实例分享(含解析)
Jan 09 Javascript
在js代码拼接dom对象到页面上去的模板总结(必看)
Feb 14 Javascript
Ajax实现不刷新取最新商品
Mar 01 Javascript
JS ES6中setTimeout函数的执行上下文示例
Apr 27 Javascript
vue实现移动端省市区选择
Sep 27 Javascript
jquery获取链接地址和跳转详解(推荐)
Aug 15 #jQuery
JavaScript获取tr td 的三种方式全面总结(推荐)
Aug 15 #Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
Aug 15 #jQuery
Vue组件通信实践记录(推荐)
Aug 15 #Javascript
js移动端事件基础及常用事件库详解
Aug 15 #Javascript
js实现移动端轮播图效果
Dec 09 #Javascript
JavaScript递归算法生成树形菜单
Aug 15 #Javascript
You might like
用PHP调用数据库的存贮过程!
2006/10/09 PHP
解析数组非数字键名引号的必要性
2013/08/09 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
javascript Window及document对象详细整理
2011/01/12 Javascript
Javascript公共脚本库系列(一): 弹出层脚本
2011/02/24 Javascript
火狐下input焦点无法重复获取问题的解决方法
2014/06/16 Javascript
js实现获取当前时间是本月第几周的方法
2015/08/11 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
2016/06/06 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
深入理解Vue 组件之间传值
2018/08/16 Javascript
详解适配器在JavaScript中的体现
2018/09/28 Javascript
Vue中多个元素、组件的过渡及列表过渡的方法示例
2019/02/13 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
vue-router 2.0 跳转之router.push()用法说明
2020/08/12 Javascript
[59:15]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.20
2020/11/20 DOTA
用python写个自动SSH登录远程服务器的小工具(实例)
2017/06/17 Python
Python设计模式之门面模式简单示例
2018/01/09 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
python3使用腾讯企业邮箱发送邮件的实例
2019/06/28 Python
Python使用matplotlib绘制三维参数曲线操作示例
2019/09/10 Python
python中如何打包用户自定义模块
2020/09/23 Python
Python包资源下载路径报404解决方案
2020/11/05 Python
Waterford加拿大官方网站:世界著名的水晶杯品牌
2016/11/01 全球购物
澳大利亚新奇小玩意网站:Yellow Octopus
2017/12/28 全球购物
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
Swanson中国官网:美国斯旺森健康产品公司
2021/03/01 全球购物
交通法规咨询中心工作职责
2013/11/27 职场文书
重阳节活动总结
2014/08/27 职场文书
停车位租赁协议书
2014/09/24 职场文书
八达岭长城导游词
2015/01/30 职场文书
2015年六一儿童节活动方案
2015/05/05 职场文书
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
2021/06/09 Vue.js
Java中常用解析工具jackson及fastjson的使用
2021/06/28 Java/Android
MySQL修炼之联结与集合浅析
2021/10/05 MySQL