电商平台常常出现的鼠标移动到商品上面,放大商品图片查看商品细节,其实就是一个鼠标跟随事件的应用。

一、从服务器先获取图片:本次获取图片是从父组件传过来的

服务器请求回来的数据结构如下:一个数组包含多个对象,图片在对象里

props 接收父组件传过来的图片,并对传过来的图片进行了简单处理

<script>
export default {name:"Zoom",props:["skuImageList"],computed:{// 当服务器的数据没有回来的时候父组件传过来 skuImageList 的是一个空数组// 空数组 [0] 就会 undefined 报错,  imgObj(){return this.skuImageList[0] || {}}}
}
</script>

二、书写 html 结构

放大镜由一个原图,一个放大的细节图,一个蒙版构成

<template><div class="fangda"><!-- 放大镜 --><div class="small"><img id="img1" :src="imgObj.imgUrl" /></div><div class="event" @mousemove="handler"></div><div class="big"><img id="img2" :src="imgObj.imgUrl" ref="big"/></div><!-- 蒙板 --><div class="mask" ref="mask"></div></div>
</template>

三、书写js

1、获取蒙版和放大图的元素

2、计算蒙版左边和顶部的数值

3、约束蒙版的上下左右范围,以免蒙版部分溢出

methods:{handler(event){console.log('1');let mask = this.$refs.mask   // 获取元素let big = this.$refs.biglet l = event.offsetX - mask.offsetWidth/2  // 计算蒙版左边和顶部的数值let t = event.offsetY - mask.offsetHeight/2// 约束蒙版上下左右的范围if(l<0) l=0if(l>mask.offsetWidth)l = mask.offsetWidthif(t<0)t=0if(t>mask.offsetHeight)t = mask.offsetHeightmask.style.left = l+"px"mask.style.top = t+"px"big.style.left = -2*l +'px'big.style.top = -2*t +'px'}}

四、样式

小图采用 100%,大图采用 宽高都放大1倍

<style scoped>.fangda{position: relative;width: 400px;height: 400px;border: 1px solid #ccc;}  #img1{width: 100%;height: 100%;} .event {width: 100%;height: 100%;position: absolute;top: 0;left: 0;z-index: 998;}.mask {width: 50%;height: 50%;background-color: rgba(0, 255, 0, 0.3);position: absolute;left: 0;top: 0;display: none;border-radius: 50%;}.big {width: 100%;height: 100%;position: absolute;top: -1px;left: 100%;border: 1px solid #aaa;overflow: hidden;z-index: 998;display: none;background: white;}img {width: 200%;max-width: 200%;height: 200%;position: absolute;left: 0;top: 0;}     .event:hover ~ .mask,.event:hover ~ .big {display: block;}
</style>

最后效果

简单的电商商品详情图片放大镜(vue)相关推荐

  1. 电商商品详情 API(商品主图、sku)

    在技术交流群,大家有探讨稳定获取淘宝商品主图.价格.标题,及sku的完整解决方案.这个引起了我技术挑战的兴趣. 目前,自己做了压测,QPS高.出滑块概率极低,API整体稳定,可满足业务场景的性能需求 ...

  2. API技术分享,电商商品详情的采集

    API入口 请求参数 请求参数:num_iid=652874751412&is_promotion=1 参数说明:num_iid:商品ID is_promotion:是否获取取促销价 响应参数 ...

  3. 企业信息化,电商商品详情API接口,数据返回值说明,商品详情,关键词搜索,价格监控,卖家买家订单等相关数据

    都在说API,API到底是什么? 对于很多非IT人士而言,API ≈ 听不懂. 其实日常生活中,我们有很多类似API的场景,比如: 电脑需要调用手机里面的信息,这时候你会拿一根数据线将电脑手机连接起来 ...

  4. Flutter实现京东淘宝电商商品详情页效果

    之前开发电商的功能时,需要做商品界面,UI基本是参考京东.淘宝的效果,以前android原生开发的时候觉得很好做,切到Flutter之后只能自己想办法,所以自己后来做出了这样的效果,分享下实现方案. ...

  5. React-Native仿某电商商品详情页面

    前言: 一周又过去了,一直在赶需求,除了自己利用空余时间学习一下外压根就没时间去研究新东西,唉~程序猿就是这样,活到老学到老!! 废话不多说了,公司产品觉得某电商的商品详情页面很nice,问我们能不能 ...

  6. html访问java接口出现缓存_高可用架构设计(3) -电商商品详情页缓存背景及框架说明...

    Github 0 导读 我们这个教程,基于hystrix,如何来构建高可用的分布式系统的架构,项目实战 模拟真实业务的这么一个小型的项目,来全程贯穿,用这个项目中的业务场景去一个一个的讲解hystri ...

  7. 高可用架构设计(3) -电商商品详情页缓存背景及框架说明

    大背景:电商网站,首页,商品详情页,搜索结果页,广告页,促销活动,购物车,订单系统,库存系统,物流系统 小背景:商品详情页,如何用最快的结果将商品数据填充到一个页面中,然后将页面显示出来 分布式系统: ...

  8. 电商商品详情如何快速高效获取,api来帮你!

    item_get-获得淘宝商品详情 接口测试 API返回数据 {     "items": {         "page": "1",   ...

  9. 【愚公系列】2022年11月 uniapp专题-优购电商-商品详情页面

    文章目录 前言 一.商品详情⻚⾯ 前言 商品详情页是展示商品详细信息的一个页面,承载在网站的大部分流量和订单的入口.京东商城目前有通用版.全球购.闪购.易车.惠买车.服装.拼购.今日抄底等许多套模板. ...

最新文章

  1. Web Service 安全性解决方案(SOAP篇)
  2. wxWidgets:wxBitmapToggleButton类用法
  3. centos7 安装python3
  4. 什么是eager loading
  5. [matlab]斜阶梯式长条引起的重力异常计算
  6. 企业库(V4.1)入门学习手记
  7. python flask框架下登录注册界面_Python的Flask框架中实现简单的登录功能的教程
  8. CFile, read, write,typeBinary
  9. Cuda Graph (cuda 优化)
  10. linux环境下pandas库的安装,Pandas库的基本使用 pip安装 Series DataFrame
  11. c# 标准正太分布函数_[C#] 查标准正态分布表
  12. 海思35xx移动侦测-修改sdk中sample到嵌入式设备测试成功
  13. declares(declares是什么意思)
  14. 分析称诺基亚仅押宝WP成自救牵绊
  15. ios中设置app音效音效和震动
  16. 精致女生必备6款实用app 这几款你值得拥有
  17. 投资组合业绩评价指标-夏普测度、特雷纳测度、詹森测度以及信息与卡玛比率...
  18. 简易讨伐HashMap
  19. 你开始变的虚伪 是自尊心一直作祟
  20. ICLR 2021 NAS 相关论文(包含Workshop)

热门文章

  1. 云客Drupal源码分析之网络攻击与防御措施
  2. Salt2019.2.0 Release Notes (Codename Fluorine) 新版本功能特性
  3. pt 软件安装及pt-kill 用法
  4. 企业年会直播来个虚拟舞台场景如何?
  5. UI设计师必备|灵感爆表UI作品集
  6. delphi XE模拟Android手机PDA设备的虚拟键盘按键及扫码过程输入焦点及信号接收
  7. linux内核-X86CPU对中断的硬件支持
  8. matlab 文本相似度,图像相似性搜索的MATLAB实现
  9. HashMap的put方法解析及源码
  10. 计算机基础:IP地址,子网掩码,默认网关,DNS服务器