vue放大镜功能,vue图片放大插件

  vue放大镜功能,vue图片放大插件

  这篇文章主要为大家详细介绍了Vue3实现图片放大镜效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  本文实例为大家分享了Vue3实现图片放大镜效果的具体代码,供大家参考,具体内容如下

  实现效果

  代码

  模板

  div class=商品-图像

  !-大图容器-

  差异

  大号

  :style=[

  {

  背景图像:` URL($ { imageList[curId]})`,

  backgroundPositionX:位置。背景位置x,

  backgroundPositionY:位置。背景技术在位置上,

  },

  ]

  v-if=isShow

  /div

  div class=middle ref=target

  img:src= imageList[curId] alt= /

  !-蒙层容器-

  div class= layer :style= { left:left px ,top: top px } v-if=isShow/div

  /div

  ul class=small

  里

  图片列表中的v-for=(img,I

  :key=i

  @mouseenter=curId=i

  :class={ active: curId===i }

  img :src=img alt= /

  /李

  /ul

  /div

  /模板

  脚本

  从“vue”导入{反应、参考、观察}

  从" @vueuse/core "导入{ useMouseInElement }

  导出默认值{

  名称: GoodsImage ,

  道具:{

  imageList: {

  类型:数组,

  默认值:()={

  return []

  }

  }

  },

  setup () {

  const curId=ref(0)

  const target=ref(空)

  //elementX:鼠标距离左侧的偏移值

  //elementY:表表距离顶部的偏移值

  //iso外部:是否在容器外部外部真实的内部错误的

  const { elementX,elementY,iso outside }=使用鼠标inelement(target)

  const left=ref(0) //滑块距离左侧的距离

  const top=ref(0) //滑块距离顶部的距离

  const isShow=ref(false) //显示大图和蒙层图的显示和隐藏

  恒定位置=反应({ //大图显示的位置,默认是0

  背景位置X: 0,

  背景位置Y: 0

  })

  手表(

  //监听的对象

  [elementX,elementY,isOutside],

  ()={

  if (elementX.value 100) {

  //左侧最小距离

  left.value=0

  }

  if (elementX.value 300) {

  左值=200

  }

  if(elementx。值100 elementx。值300){

  left.value=elementX.value - 100

  }

  if (elementY.value 100) {

  //左侧最小距离

  top.value=0

  }

  if (elementY.value 300) {

  顶值=200

  }

  if(元素y值100元素y值300){

  top.value=elementY.value - 100

  }

  //控制背景图移动

  //1.蒙层移动的方向和大图背景移动的方向是相反的

  //2.蒙层和大图由于面积大小是1:2的蒙层每移动一个像素大图移动俩个像素

  //backgrondPosition:x,y;

  位置。backgroundpositionx=-left。值* 2 像素

  位置。backgroundpositiony=-top。值* 2 像素

  //当等外侧的值发生变化的时候,立刻取反赋值给是否显示

  //iso外部:是否在容器外部外部真实的内部错误的

  isShow.value=!iso外部。价值

  },

  {}

  )

  返回{

  curId,

  目标,

  左边,

  顶,

  位置,

  是否显示

  }

  }

  }

  /脚本

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

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: