You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
5.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# vue-directive-image-previewer
> A Vue.js project for tag img, click img to zoom out to full screen.
## Build Setup
``` bash
# install vue-directive-image-previewer
npm install vue-directive-image-previewer -D
# main.js
import VueDirectiveImagePreviewer from 'vue-directive-image-previewer'
import 'vue-directive-image-previewer/dist/assets/style.css'
Vue.use(VueDirectiveImagePreviewer)
or
Vue.use(VueDirectiveImagePreviewer, {
background: { // or : background: '#000'
color: '#000' // or rgba or rgb // or image: 'url(xxx)'
},
// transition
animate: {
duration: 600,
delay: 500
},
// loading (not supported)
loading: {
image: ''
},
// cursor(css)
cursor: 'pointer',
clickMethod: 'doubleClick' // click or doubleClick(not supported)
})
# use this directive
<img v-image-preview src="some-pic-url"/>
or
<img v-image-preview="some-pic-url or another-pic-url" src="some-pic-url"/>
or
<img v-image-preview="{src: 'some-pic-url or another-pic-url'}" src="some-pic-url"/>
```
## Github
[github](https://github.com/wszxdhr/vue-directive-image-previewer.git) Why not Star? Why? Come on!
> Welcome to give me some advise or help me to make the code stronger, thanks!
## Demo
http://demo.image-previewer.anymelon.com
## Api (updated at 2018-08-14)
### options(in Vue.use())(Global Settings)
| API | TYPE | EXAMPLE | DEFAULT | DESCRIBE |
| ---------------------------- | ------------- | ---------------------------------------- | ----------------- | ---------------------------------------- |
| background | String / JSON | "#000000" or "rgba(0, 0, 0, 0.5)" or {backgroundColor: "#000000"} | {backgroundColor:"#000000"} | Background css of wrapper |
| animate | JSON | {duration: 500, delay: 300, func: "linear"} | {duration: 500} | Transition css of image(field "duration" must be Number) |
| loadingnot support yet | JSON | {pictureUrl: "http://somePicUrl"} | undefined | Settings of image when it is loading |
| cursor | String | (whatever of css cursor) | "pointer" | Cursor css of image which has directive "v-image-preview" |
| clickMethodnot support yet)| String | "click" / "doubleClick" | "click" | Method of opening image, **not for closing** |
| copy | Boolean | true / false | true | if copy === true, when previewer is showing, the original picture will not disappear, on the contrary, it will disappear(by setting visibility: hidden;)|
| zIndex | Number | 1000 | 1 | css 'z-index' of outermost wrapper |
| maxWidth | Number || String | 1000 or '1000px' or '100%' | undefined | max width of previewer |
| maxHeight | Number || String | 1000 or '1000px' or '100%' | undefined | max height of previewer |
| previewSize | Number || String | 2 (previewer.width = image.width * 2, previewer.height = image.height * 2) or '20%' | undefined | how many times of the previewer with image |
### options(in directive)(Setting only for Element itself)
| API | TYPE | EXAMPLE | DEFAULT | DESCRIBE |
| ---------- | ------ | --------------------- | ------------ | ---------------------------------------- |
| ALL | String | "http://some-pic-url" | src of <img> | This is for only set in a String, like v-image-preview="some-pic-url". |
| background | String / JSON | "#000000" or {backgroundColor: "#000000"} | {backgroundColor:"#000000"} | Background css of wrapper |
| src | String | "http://some-pic-url" | src of <img> | When you want to set another optioins of directive, use this. |
| cursor | String | (whatever of css cursor) | "pointer" | Cursor css of image which has directive "v-image-preview" |
| animate | JSON | {duration: 500, delay: 300, func: "linear"} | {duration: 500} | Transition css of image(field "duration" must be Number) |
| copy | Boolean | true / false | true | if copy === true, when previewer is showing, the original picture will not disappear, on the contrary, it will disappear(by setting visibility: hidden;)|
| zIndex | Number | 1000 | 1 | css 'z-index' of outermost wrapper |
| maxWidth | Number || String | 1000 or '1000px' or '100%' | undefined | max width of previewer |
| maxHeight | Number || String | 1000 or '1000px' or '100%' | undefined | max height of previewer |
| previewSize | Number || String | 2 (previewer.width = image.width * 2, previewer.height = image.height * 2) or '20%' | undefined | how many times of the previewer with image |
## ChangeLog
### 2018-8-14
Add APIs: maxWidth, maxHeight, previewSize