Vue.js component that shows the full image or a scaled image in the image area on hover. Forked from here
Install package:
npm i vue-zoom-on-hover
Register the component:
import ZoomOnHover from "vue-zoom-on-hover";
Vue.use(ZoomOnHover);
With cdn:
<script type="module">
import ZoomOnHover from "https://unpkg.com/vue-zoom-on-hover@latest/dist/index.esm.min.js";
Vue.use(ZoomOnHover);
new Vue({
el: "#app"
})
</script>
Use it like this:
<div style="width:400px">
<zoom-on-hover img-normal="image.jpg"></zoom-on-hover>
</div>
All options:
<zoom-on-hover img-normal="image.jpg" img-zoom="bigger-image.jpg" :scale="1.5" :disabled="true"
@loaded="onload" @resized="onresize"></zoom-on-hover>
- enabled/disabled property
- custom scale for zoomed image
- optionally a separate zoom image
- event when all images loaded
- event when images resized (responsive css, etc)
if the parent container is bigger than the source image, the normal image stretches to the size of the parent container but the zoom image will have the original width (will be smaller for example)
- support for touch devices