diff options
author | Hakim El Hattab <hakim.elhattab@gmail.com> | 2017-06-14 19:11:08 +0200 |
---|---|---|
committer | Hakim El Hattab <hakim.elhattab@gmail.com> | 2017-06-14 19:11:08 +0200 |
commit | af7c33b902dbeff05e32dcd720b1480356401e6b (patch) | |
tree | cd48ad94f7a1f80ae684cbfe24188e5ef87e49cd /js/reveal.js | |
parent | dc17129082dc112fd45515adfc233c685723d547 (diff) | |
download | perl-software-in-gnu-guix-af7c33b902dbeff05e32dcd720b1480356401e6b.tar perl-software-in-gnu-guix-af7c33b902dbeff05e32dcd720b1480356401e6b.tar.gz |
unload lazy loaded videos that are moved out of view
Diffstat (limited to 'js/reveal.js')
-rw-r--r-- | js/reveal.js | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/js/reveal.js b/js/reveal.js index 17d1323..3bde30a 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -3169,6 +3169,7 @@ // Media elements with data-src attributes toArray( slide.querySelectorAll( 'img[data-src], video[data-src], audio[data-src]' ) ).forEach( function( element ) { element.setAttribute( 'src', element.getAttribute( 'data-src' ) ); + element.setAttribute( 'data-lazy-loaded', '' ); element.removeAttribute( 'data-src' ); } ); @@ -3179,6 +3180,7 @@ toArray( media.querySelectorAll( 'source[data-src]' ) ).forEach( function( source ) { source.setAttribute( 'src', source.getAttribute( 'data-src' ) ); source.removeAttribute( 'data-src' ); + source.setAttribute( 'data-lazy-loaded', '' ); sources += 1; } ); @@ -3285,6 +3287,18 @@ background.style.display = 'none'; } + // Reset lazy-loaded media elements with src attributes + toArray( slide.querySelectorAll( 'video[data-lazy-loaded][src], audio[data-lazy-loaded][src]' ) ).forEach( function( element ) { + element.setAttribute( 'data-src', element.getAttribute( 'src' ) ); + element.removeAttribute( 'src' ); + } ); + + // Reset lazy-loaded media elements with <source> children + toArray( slide.querySelectorAll( 'video[data-lazy-loaded] source[src], audio source[src]' ) ).forEach( function( source ) { + source.setAttribute( 'data-src', source.getAttribute( 'src' ) ); + source.removeAttribute( 'src' ); + } ); + } /** |