vue实现点击图片放大效果

发布时间 - 2026-01-11 02:48:21    点击率:

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

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


# vue点击图片放大  # vue点击放大  # vue图片放大  # Vue实现点击图片放大显示功能  # Vue后台实现点击图片放大功能的示例代码  # Vue基于iview table展示图片实现点击放大  # vue点击单张图片放大实现步骤(纯js)  # 大家分享  # 来实现  # 具体内容  # 大家多多  # 类中  # style  # clickit  # active  # enter  # scoped  # default  # export  # script  # emit  # methods  # props  # width  # inherit  # position  # index 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  Laravel Blade组件怎么用_Laravel可复用视图组件的创建与使用  LinuxCD持续部署教程_自动发布与回滚机制  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  EditPlus 正则表达式 实战(3)  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  独立制作一个网站多少钱,建立网站需要花多少钱?  网站页面设计需要考虑到这些问题  如何用AI帮你把自己的生活经历写成一个有趣的故事?  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  bootstrap日历插件datetimepicker使用方法  如何在香港免费服务器上快速搭建网站?  历史网站制作软件,华为如何找回被删除的网站?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  Firefox Developer Edition开发者版本入口  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  如何登录建站主机?访问步骤全解析  Swift中switch语句区间和元组模式匹配  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  Laravel如何实现数据库事务?(DB Facade示例)  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  iOS正则表达式验证手机号、邮箱、身份证号等  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  黑客如何利用漏洞与弱口令入侵网站服务器?  UC浏览器如何设置启动页 UC浏览器启动页设置方法  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  Laravel怎么清理缓存_Laravel optimize clear命令详解  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  如何在万网开始建站?分步指南解析  郑州企业网站制作公司,郑州招聘网站有哪些?  如何用好域名打造高点击率的自主建站?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】  清除minerd进程的简单方法  简历没回改:利用AI润色让你的文字更专业  香港服务器如何优化才能显著提升网站加载速度?  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  网站优化排名时,需要考虑哪些问题呢?  长沙做网站要多少钱,长沙国安网络怎么样?  使用Dockerfile构建java web环境  详解jQuery中的事件  如何有效防御Web建站篡改攻击?  Laravel如何集成Inertia.js与Vue/React?(安装配置)  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  千库网官网入口推荐 千库网设计创意平台入口