Socket
Socket
Sign inDemoInstall

dll.js

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dll.js

Double Lazy Load for Images, Videos and Background Images.


Version published
Weekly downloads
11
increased by175%
Maintainers
1
Weekly downloads
 
Created
Source

Double Lazy Load | dll.js

Double Lazy Load for videos, images and background images.

NPM Version NPM Downloads jsDeliver

Demo

Right here. Also provides some tips on how to use.

npm

npm install dll.js

Base syntax

new dll('selector',callback);

What it does

  • Integrates nicelly into your projects and provides build tools
  • Do lazy loading for an element that is subject to lazy load via data-src, or
  • Do to all child items of a given element
  • Do backgroundImage to elements other than <img> if they have data-src attribute.
  • Do callback when load event is triggered for one element, or for the last child element of a given parent.
  • Do lazy loading for <video> elements having <source> with data-src attribute
  • Do lazy load for all items having data-src attribute.

Works with

Any valid selector or no selector.

// lazy loads an element with a given class and it's children if any have data-src
new dll('.uniqueClassName', callBack); 

// lazy loads an element with a given ID and it's children if any have data-src
new dll('#uniqueID', callBack); 

// lazy loads any items with data-src from the entire page
new dll(); 

If you want to lazy load on scroll, with elementInViewport you can do:

// your target element
var el = document.getElementById('myItem');

// the callback
function callback(){
  //do some stuff when loading finished
}

// the scroll eventHandler
function scrollHandler(){
  if ( elementInViewport(el) ){
    new dll(el, callback)
  }
}
window.addEventListener('scroll', scrollHandler, false);

A nasty example

Lazy load a parent <div id="myElement" data-src="..image.png"> with many elements inside subject to dll.js object:

var el = document.getElementById('myElement'); //this is a parent
new dll(el, callback)
function callback(){
  console.log('I just finished lazy loading the last element for #myElement')
}

License

MIT License

Keywords

FAQs

Package last updated on 20 Apr 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc