progressive-image
A dead simple progressive-image module for Vanilla JavaScript and Vue.js 1.0+ & 2.0+
GitHub
NPM
update
@v1.1.0
add the scale
option for origin image animation
Install
$ npm install progressive-image --save
$ yarn add progressive-image
For Vanilla JS
demo
Usage
import css
<link href="./node_modules/progressive-image/dist/index.css" rel="stylesheet" type="text/css">
or
<link href="//unpkg.com/progressive-image/dist/index.css" rel="stylesheet" type="text/css">
HTML
<main id="app">
<div class="progressive">
<img class="preview lazy" data-src="http://7xiblh.com1.z0.glb.clouddn.com/progressive/1.jpg" src="http://7xiblh.com1.z0.glb.clouddn.com/progressive/r1.jpg" />
</div>
<div class="progressive">
<img class="preview lazy" data-src="http://7xiblh.com1.z0.glb.clouddn.com/progressive/2.jpg" src="http://7xiblh.com1.z0.glb.clouddn.com/progressive/r2.jpg" />
</div>
</main>
<script src="./dist/index.js"></script>
JS
(function(){
new Progressive({
el: '#app',
lazyClass: 'lazy',
removePreview: true
scale: true
}).fire()
})()
For Vue.js
import css
<link href="./node_modules/progressive-image/dist/index.css" rel="stylesheet" type="text/css">
or
<link href="//unpkg.com/progressive-image/dist/index.css" rel="stylesheet" type="text/css">
HTML
<main id="app">
<template v-for="item in imgs">
<div class="space"></div>
<div class="progressive">
<img class="preview" v-progressive="item.src" :data-srcset="item.srcset" :src="item.preview" />
</div>
</template>
</main>
JS
import Vue from 'vue'
import progressive from 'progressive-image/dist/vue'
Vue.use(progressive, {
removePreview: true,
scale: true
})
new Vue({
name: 'demo',
el: '#app',
data: {
imgs: [
{
src: 'http://7xiblh.com1.z0.glb.clouddn.com/progressive/2.jpg',
preview: 'http://7xiblh.com1.z0.glb.clouddn.com/progressive/r2.jpg'
},
{
src: 'http://7xiblh.com1.z0.glb.clouddn.com/progressive/3.jpg',
preview: 'http://7xiblh.com1.z0.glb.clouddn.com/progressive/r3.jpg'
}
]
}
})
build
build dist
npm run build
build demo
npm run demo