/viewability

Check if element is on screen

Primary LanguageJavaScriptISC LicenseISC

viewability

Browser package to check if the element is on screen without dependencies. Or you can call it visibility.

npm version Bower version devDependency Status

No dependencies.

var vertical = require('viewability/vertical');
vertical(document.getElementById('blue-box'));
// return {value: 1, state: "EL_IS_WITHIN_VERTICAL_VIEW"}

Use 'viewability/horizontal' for corresponding view.

See demo

Installation

Usage

viewability package through CDN:

Loading it directly to the browser with viewability exposed to the window:

<script src="//cdn.jsdelivr.net/viewability/latest/viewability.min.js"></script>
<script>
  var v = viewability.vertical(document.getElementById('red-box'));
  console.log(v);
  // return {value: 0.83, state: "EL_IS_WITHIN_VERTICAL_VIEW"}
</script>

Using Common JS:

Finding out if the element is 100% on screen and using Common JS:

var v = require('viewability');
var el = document.getElementById('blue-box');
if (v.isElementOnScreen(el, true)) {
  console.log('100% on screen.');
} else if (v.isElementOnScreen(el)) {
  console.log('Some parts are on screen');
} else {
  console.log('not on screen at all');
}

Running tests

While viewability has no dependencies, testing uses Karma and jQuery.

npm install
npm test

License

ISC