vue-compare-image
Version:
Vue component to compare two images using slider.
83 lines (58 loc) • 3.16 kB
Markdown
# Vue Compare Image
[](#contributors)
Simple Vue.js component to compare two images using slider.

NOTE: [React Version](https://github.com/junkboy0315/react-compare-image) is also available!
## Demo
[DEMO](https://vue-compare-image.yuuniworks.com/)
## Features
- Simple
- Responsive (fit to the parent width)
- Size difference between two images handled correctly. Element size determined by following two factors:
- width of the parent
- right image's aspect ratio
## How to use
In the shell:
```bash
yarn add vue-compare-image
// or
npm install --save vue-compare-image
```
In your component file:
```js
import VueCompareImage from 'vue-compare-image';
export default {
name: 'app',
components: { VueCompareImage },
};
```
```xml
<template>
<VueCompareImage leftImage="image1.jpg" rightImage="image2.jpg" />;
</template>
```
## Props
| Prop (\* required) | type | default | description |
| ------------------------ | -------------- | :-----: | ------------------------------------ |
| handleSize | number (px) | 40 | diameter of slider handle (by pixel) |
| hover | boolean | false | Whether to slide at hover |
| leftImage \* | string | null | left image's url |
| leftImageAlt | string | null | left image's alt |
| leftLabel | string | null | Left image text label |
| rightImage \* | string | null | right image's url |
| rightImageAlt | string | null | right image's alt |
| rightLabel | string | null | Right image text label |
| sliderLineWidth | number (px) | 2 | line width of slider (by pixel) |
| sliderPositionPercentage | number (float) | 0.5 | Starting line position (from 0 to 1) |
## Dependencies
- [css-element-queries](https://github.com/marcj/css-element-queries) to detect element resize event.
## Contributors
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore -->
<table>
<tr>
<td align="center"><a href="https://www.yuuniworks.com/"><img src="https://avatars0.githubusercontent.com/u/10986861?v=4" width="100px;" alt="Shota Tamura"/><br /><sub><b>Shota Tamura</b></sub></a><br /><a href="https://github.com/junkboy0315/vue-compare-image/commits?author=junkboy0315" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/lukasirsak"><img src="https://avatars2.githubusercontent.com/u/30669262?v=4" width="100px;" alt="Lukáš Irsák"/><br /><sub><b>Lukáš Irsák</b></sub></a><br /><a href="https://github.com/junkboy0315/vue-compare-image/commits?author=lukasirsak" title="Code">💻</a></td>
</tr>
</table>
<!-- ALL-CONTRIBUTORS-LIST:END -->