vue3封装放大镜组件

本文介绍了如何在Vue3中封装一个图片放大镜组件,包括组件基础结构、图片放大镜功能的实现、安装vueuse库以及功能的具体代码实现。通过使用vueuse提供的方法,实现鼠标悬停时图片放大的交互效果。
摘要由CSDN通过智能技术生成

组件基础结构

结尾有完整代码可直接复制使用

  • 目的:封装图片预览组件,实现鼠标悬停切换效果

在这里插入图片描述

  • 落地代码:

    <template>
      <div class="goods-image">
        <div class="middle">
          <img :src="images[currIndex]" alt="">
        </div>
        <ul class="small">
          <li v-for="(img,i) in images" :key="img" :class="{active:i===currIndex}">
            <img @mouseenter="currIndex=i" :src="img" alt="">
          </li>
        </ul>
      </div>
    </template>
    <script>
    import {
          ref } from 'vue'
    export default {
         
      name: 'GoodsImage',
      props: {
         
        images: {
         
          type: Array,
          default: () => []
        }
      },
      setup (props) {
         
        const currIndex = ref(0)
        return {
          currIndex }
      }
    }
    </script>
    <style scoped lang="less">
    .goods-image {
         
      width: 480px;
      height: 400px;
      position: relative;
      display: flex;
      .middle {
         
        width: 400px;
        height: 400px;
        background: #f5f5f5;
      }
      .small {
         
        width: 80px;
        li {
         
          width: 68px;
          height: 68px;
          margin-left: 12px;
          margin-bottom: 15px;
          cursor: pointer;
          &:hover,&.active {
         
            border: 2px solid @xtxColor;
          }
        }
      }
    }
    </style>
    

图片放大镜

  • 目的:实现图片放大镜功能

在这里插入图片描述

  • 步骤:

    • 首先准备大图容器和遮罩容器
    • 然后使用@vueuse/coreuseMouseInElement方法获取基于元素的偏移量
    • 计算出 遮罩容器定位与大容
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

化身孤岛的鲸_2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值