最近在撸一个电商网站,有一个需求是要像淘宝商品详情页那样,鼠标放在主图上,显示图片放大镜效果,找了一下貌似没有什么合适的vue插件,因而本身撸了一个,分享一下。小白第一次分享,各位大神莫见笑。html
picture magnifier component for Vue.js 2.x
基于vue2.x的电商图片放大镜插件
# 安装 install npm install vue-piczoom --save
# 使用 use --script import PicZoom from 'vue-piczoom' export default { name: 'App', components: { PicZoom } } --html <pic-zoom url="static/imac2.jpg" :scale="3"></pic-zoom>
props | describe | default |
---|---|---|
url | 图片地址 | string required |
big-url | 大图地址 | string null |
scale | 图片放大倍数 | number 2.5 |
scroll | 放大时页面是否可滚动 | boolean fasle |
组件默认是100%的高宽,因此建议将组件包含在一个有固定高宽的容器内。如:vue
<div class="pic-box"> <!--pic-box:width:500px;height:500px--> <pic-zoom url="static/imac2.jpg" :scale="3"></pic-zoom> </div>
在线示例git
Githubgithub
1.0.4版本:(2018-01-22)
1.更换算法,解决父级元素为position:relative时定位错误;
2.优化边缘检测,解决放大选区移动至边缘时,放大移动失效;
3.优化移动算法,移动选区更流畅;算法