[vue插件]基于vue2.x的电商图片放大镜插件

最近在撸一个电商网站,有一个需求是要像淘宝商品详情页那样,鼠标放在主图上,显示图片放大镜效果,找了一下貌似没有什么合适的vue插件,于是自己撸了一个,分享一下。小白第一次分享,各位大神莫见笑。

vue-piczoom

picture magnifier component for Vue.js 2.x
基于vue2.x的电商图片放大镜插件

GIF 动画截图

Build Setup 使用步骤

# 安装 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>

Config 配置

propsdescribedefault
url图片地址string required
big-url大图地址string null
scale图片放大倍数number 2.5
scroll放大时页面是否可滚动boolean fasle

Suggest 注意事项

组件默认是100%的高宽,所以建议将组件包含在一个有固定高宽的容器内。如:

<div class="pic-box"> <!--pic-box:width:500px;height:500px--><pic-zoom url="static/imac2.jpg" :scale="3"></pic-zoom>
</div>

Demo 示例

在线示例

Github

Github

update 更新记录

1.0.4版本:(2018-01-22)

1.更换算法,解决父级元素为position:relative时定位错误;
2.优化边缘检测,解决放大选区移动至边缘时,放大移动失效;
3.优化移动算法,移动选区更流畅;

原文地址:https://segmentfault.com/a/1190000012917213


更多专业前端知识,请上 【猿2048】www.mk2048.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364638.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

洛谷 P1968 美元汇率

传送门 我在下面哦~~ Im here 思路 这是一道比较简单的DP题 美元可由马克转化得到,马克可由美元转化得到,最后要求最大的美元值 我们可以用f数组来记录最大能达到多少马克和多少美元。 定义一个\(f[N][3]\)的数组,第一维表示到达了第i天 \(f[…

玩JerseyTest(Jersey 2.5.1和DI)

我将尝试解释一个简单的REST示例。 这个想法是建立一个基本的架构来开始使用Jersey。 当我开始使用某些框架时,通常会开发一个快速失败的测试环境,这就是我要做的。 下一个示例具有以下功能: 泽西岛2.5.1 依赖注入 用于测试的JUnit 类&a…

MySQL之视图、触发器、事务、存储过程、函数

一. 视图 视图是一个虚拟表(非真实存在),是跑到内存中的表,真实表是硬盘上的表,怎么就得到了虚拟表,就是你查询的结果,只不过之前我们查询出来的虚拟表,从内存中取出来显示在屏幕上…

php送数据找不到表,php – 数据源默认值中找不到的模型表

我正在创建一个cakephp 2.x应用程序.在开发过程中途,我突然发现自己有一个“找不到表”的错误.Missing Database TableError: Table blocked for model Parental was not found in datasource default.Notice: If you want to customize this error message, create project\Vi…

break、continue、return的区别

break、continue、return的区别 break:表示中断,可以在switch case中或循环中 使用 当遇到break 则结束当前整个switch case 或 循环 continue:表示继续,只能在循环中使用,当遇到continue时,则结束本次&…

原生JS封装ajax以及request

一、封装原生的xhr为ajax类 xhr以及用法见之前的文章1、根据url确定请求的头部以及别的信息。 var _headerConfig {};if(url.indexOf(getcaptcha) ! -1) {_headerConfig {Accept: image/png,responseType: arraybuffer,}} else if(url.indexOf(files/upload) ! -1) {_headerC…

Java 8 Friday Goodies:SQL ResultSet流

在Data Geekery ,我们喜欢Java。 而且,由于我们真的很喜欢jOOQ的流畅的API和查询DSL ,我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 我们已经写了一些关于Java 8好东西的博客 ,现在我们觉得是时候开始一个新的博客系列了…

java类型转换答案,在java中支持两种类型的类型转换,自动类型转换和强制类型转换。父类转化为子类需要强制转换。...

在java中支持两种类型的类型转换,自动类型转换和强制类型转换。父类转化为子类需要强制转换。更多相关问题计算机病毒通过()传染扩散得极快,危害最大。当一个现象的数量由小变大,另一个现象的数量相反地由大变小,这种相关称为()。输油管道沿线…

Java实现回形数,只利用数组、循环和if-else语句

import java.util.Scanner; public class learn {   public static void main(String[] args){ System.out.println("请输入你需要打印多少阶的回形数:");     Scanner scan new Scanner(System.in);     int num scan.nextInt();    // 接收num,则…

FWT(快速沃尔什变换)学习

https://www.cnblogs.com/cjyyb/p/9065615.html edo直接看大佬的博客吧 不仅有证明之类的还有板子呢 转载于:https://www.cnblogs.com/ENESAMA/p/10109995.html

创建一个简单的JAX-RS MessageBodyWriter

JAX-RS确实很酷,借助JAXB,只需添加带有JAXB批注的批注数据对象,即可为您转换许多响应数据类型。 我对JAXB相当陌生,但是一些简单的注释剪切/粘贴操作将带给您很长的路要走。 出于无法从JAX-RS资源方法返回该数据类型的目的&#…

SpringCloud学习笔记(6)----Spring Cloud Netflix之负载均衡-Ribbon的使用

1. 什么是负载均衡? 负载均衡,就是分发请求流量到不同的服务器。 负载均衡一般分为两种 1. 服务器端负载均衡(nginx) 2. 客户端负载均衡(Ribbon) 2. 服务提供者(spring-cloud-provider&#xff…

pHp中文网零基础,零基础编程

基础编程conmysql_connect(constant("SERVER"),constant("USERNAME"),constant("PASSWORD"));if(!$this->con){die(connet to mysql error.mysql_error());}else{mysql_select_db(constant("DATABASE"),$this->con);}}function …

正确判断js数据类型 总结记录

正确判断js数据类型 总结记录 判断js中的数据类型有一下几种方法:typeof、instanceof、 constructor、 prototype、 三方库。 js六大数据类型 number: 数字,整数、浮点数等等, string: 单引号或者双引号来说明&…

wait/notify实现线程间的通信

使线程之间进行通信之后,系统间的交互性更加强大,在大大提高CPU利用率的同时还会使程序对各线程任务在处理的过程中进行有效的把控与监督。 1.不使用wait/notify实现线程间通信 使用sleep()while(true)也可以实现线程间通信。 例如:两个线程&#xff0c…

项目学生:使用AOP简化代码

这是Project Student的一部分。 许多人坚信方法应适合您的编辑器窗口(例如20行),而有些人则认为方法应小于此范围。 这个想法是一种方法应该做一件事,而只能做一件事。 如果它做的还不止于此,则应将其分解为多种方法&…

洛谷 P3367 【模板】并查集

嗯... 题目链接:https://www.luogu.org/problemnew/show/P3367 并查集可以支持的操作:“并”和“查”。然后这道题主要就是考察这两种操作。将每一个点的“父亲”初始化为自己,然后分别进行“并”和“查”。 “并”:用递归函数fin…

MySQL使用学习使用,mysql学习--基本使用_MySQL

一旦安装完成,MySQL 服务器应该自动启动。sudo start mysql #手动的话这样启动sudo stop mysql #手动停止当你修改了配置文件后,你需要重启 mysqld 才能使这些修改生效。要想检查 mysqld 进程是否已经开启,可以使用下面的命令:pgr…

解决@vue/cli 创建项目是安装chromedriver时失败的问题

最近在使用新版vue的命令行工具创建项目时,安装chromedriver老是失败,导致后面的步骤也没有进行。网上搜索了一下,全是使用 npm install chromedriver --chromedriver_cdnurlhttp://cdn.npm.taobao.org/dist/chromedriver 安装的&#xff0c…

Java 8 Friday Goodies:Lambda和排序

在Data Geekery ,我们喜欢Java。 而且,由于我们真的很喜欢jOOQ的流畅的API和查询DSL ,我们对Java 8将为我们的生态系统带来什么感到非常兴奋。 我们已经写了一些关于Java 8好东西的博客 ,现在我们觉得是时候开始一个新的博客系列了…