|
@@ -52,64 +52,54 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
+ mounted () {
|
|
|
+ // lazy load images on mouseover
|
|
|
+ console.log('card mounted', this.$options.name)
|
|
|
+ // if (this.$options.name ==! 'ModalCard') {
|
|
|
+ this.activateLazyLoad()
|
|
|
+ // }
|
|
|
+ },
|
|
|
updated () {
|
|
|
// lazy load images on mouseover
|
|
|
console.log('card mounted', this.$options.name)
|
|
|
// if (this.$options.name ==! 'ModalCard') {
|
|
|
- this.$el.addEventListener('mouseover', function (event) {
|
|
|
- const figures = this.querySelectorAll('.images figure.lazy:not(.loaded):not(.loading)')
|
|
|
- // console.log('mousemove', this, imgs)
|
|
|
- figures.forEach((figure, index) => {
|
|
|
- const img = figure.querySelector('img:not(.blank)')
|
|
|
- // console.log('forEach img',img)
|
|
|
- img.classList.add('loading')
|
|
|
- img.addEventListener('load', function (e) {
|
|
|
- // console.log('img loaded', e)
|
|
|
- figure.classList.remove('loading')
|
|
|
- figure.classList.add('loaded')
|
|
|
- })
|
|
|
- img.addEventListener('error', function (e) {
|
|
|
- console.error('img ERROR', figure, e)
|
|
|
- })
|
|
|
- const src = img.getAttribute('data-src')
|
|
|
+ this.activateLazyLoad()
|
|
|
+ // }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // used by ModalCard
|
|
|
+ activateLazyLoad () {
|
|
|
+ console.log('card activateLazyLoad', this.$options.name)
|
|
|
|
|
|
- // for debug purpose
|
|
|
- console.log(figures.length, index)
|
|
|
- // let src = img.getAttribute('data-src')
|
|
|
- // if (index > 0 && index < figures.length - 1) {
|
|
|
- // src = img.getAttribute('data-src').replace('?', '/bad?')
|
|
|
- // }
|
|
|
+ this.$el.addEventListener('mouseover', function (event) {
|
|
|
+ const figures = this.querySelectorAll('.images figure.lazy:not(.loaded):not(.loading)')
|
|
|
+ // console.log('mousemove', this, imgs)
|
|
|
+ figures.forEach((figure, index) => {
|
|
|
+ const img = figure.querySelector('img:not(.blank)')
|
|
|
+ // console.log('forEach img',img)
|
|
|
+ img.classList.add('loading')
|
|
|
+ img.addEventListener('load', function (e) {
|
|
|
+ // console.log('img loaded', e)
|
|
|
+ figure.classList.remove('loading')
|
|
|
+ figure.classList.add('loaded')
|
|
|
+ })
|
|
|
+ img.addEventListener('error', function (e) {
|
|
|
+ console.error('img ERROR', figure, e)
|
|
|
+ })
|
|
|
+ const src = img.getAttribute('data-src')
|
|
|
|
|
|
- img.setAttribute('src', src)
|
|
|
- // img.removeAttribute('data-src')
|
|
|
- // img.classList.remove('lazy')
|
|
|
- })
|
|
|
- }, { once: true })
|
|
|
- // }
|
|
|
- }
|
|
|
- // ,
|
|
|
- // methods: {
|
|
|
- // // used by ModalCard
|
|
|
- // activateLazyLoad () {
|
|
|
- // console.log('card activateLazyLoad', this.$options.name)
|
|
|
+ // for debug purpose
|
|
|
+ console.log(figures.length, index)
|
|
|
+ // let src = img.getAttribute('data-src')
|
|
|
+ // if (index > 0 && index < figures.length - 1) {
|
|
|
+ // src = img.getAttribute('data-src').replace('?', '/bad?')
|
|
|
+ // }
|
|
|
|
|
|
- // this.$el.addEventListener('mousemove', function (event) {
|
|
|
- // const imgs = this.querySelectorAll('.images figure img.lazy')
|
|
|
- // // console.log('mousemove', this, imgs)
|
|
|
- // imgs.forEach((img) => {
|
|
|
- // // console.log('forEach img',img)
|
|
|
- // // img.classList.add('loading')
|
|
|
- // // img.onload = function (e) {
|
|
|
- // // console.log('img loaded', e)
|
|
|
- // // }
|
|
|
- // img.setAttribute('src', img.getAttribute('data-src'))
|
|
|
- // img.removeAttribute('data-src')
|
|
|
- // img.classList.remove('lazy')
|
|
|
- // })
|
|
|
- // }, { once: true })
|
|
|
- // }
|
|
|
- // // deg2rad (deg) {
|
|
|
- // // return deg * (Math.PI / 180)
|
|
|
- // // },
|
|
|
- // }
|
|
|
+ img.setAttribute('src', src)
|
|
|
+ // img.removeAttribute('data-src')
|
|
|
+ // img.classList.remove('lazy')
|
|
|
+ })
|
|
|
+ }, { once: true })
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|