vue实现点击图片放大效果

 更新时间:2017年08月15日 16:15:11   作者:```...简单点  
这篇文章主要为大家详细介绍了vue实现点击图片放大效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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>

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

相关文章

  • vue3组件的挂载更新流程详解

    vue3组件的挂载更新流程详解

    这篇文章主要介绍了vue3组件的挂载更新流程,文中通过代码示例给大家介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-02-02
  • vue3导入excel并解析excel数据渲染到表格中(纯前端实现)

    vue3导入excel并解析excel数据渲染到表格中(纯前端实现)

    在Vue中实现导出Excel有多种方式,可以通过前端实现,也可以通过前后端配合实现,下面这篇文章主要给大家介绍了关于vue3导入excel并解析excel数据渲染到表格中的相关资料,文中介绍的方法是纯前端实现,需要的朋友可以参考下
    2024-04-04
  • vxe-table如何在单元格中渲染简单的饼图

    vxe-table如何在单元格中渲染简单的饼图

    这篇文章主要介绍了vxe-table如何在单元格中渲染简单的饼图,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • vue+Element实现登录随机验证码

    vue+Element实现登录随机验证码

    这篇文章主要为大家详细介绍了vue+Element实现登录随机验证码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • vuex实现购物车功能

    vuex实现购物车功能

    这篇文章主要为大家详细介绍了vuex实现购物车功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • Element-ui设置el-table表头全选框隐藏或禁用

    Element-ui设置el-table表头全选框隐藏或禁用

    这篇文章主要给大家介绍了关于Element-ui设置el-table表头全选框隐藏或禁用的相关资料,文中手把手教你实现el-table实现跨表格禁用选项,需要的朋友可以参考下
    2023-07-07
  • 如何用命令窗口的方式创建Vue项目

    如何用命令窗口的方式创建Vue项目

    这篇文章主要介绍了如何用命令窗口的方式创建Vue项目过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Vue获取当前系统日期(年月日)的示例代码

    Vue获取当前系统日期(年月日)的示例代码

    发中会有要获取当前日期的需求,有的是获取到当前月份,有的是精确到分秒,在 Vue 开发中,获取当前时间是一项常见的需求,本文将深入探讨Vue获取当前系统日期(年月日),帮助您更好地利用当前时间,需要的朋友可以参考下
    2024-01-01
  • vue如何使用html2canvas和JsPDF导出pdf组件

    vue如何使用html2canvas和JsPDF导出pdf组件

    这篇文章主要介绍了vue如何使用html2canvas和JsPDF导出pdf组件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-09-09
  • vue3+ts项目之安装eslint、prettier和sass的详细过程

    vue3+ts项目之安装eslint、prettier和sass的详细过程

    这篇文章主要介绍了vue3+ts项目02-安装eslint、prettier和sass的详细过程,在本文讲解中需要注意执行yarn format会自动格式化css、js、html、json还有markdown代码,需要的朋友可以参考下
    2023-10-10

最新评论