Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function isInViewport(selector, addClass, descBot, descTop, mobBot, mobTop) {
- let viewport = document.querySelectorAll(selector);
- function checkPort() {
- viewport.forEach((element, index) => {
- // calculate distanse element from sides of browser
- let positionTop = element.getBoundingClientRect().top,
- positionBot = element.getBoundingClientRect().bottom;
- // console.log(positionTop, positionBot)
- if (window.innerWidth > 767) {
- dispersion(descBot = 300, descTop = 400);
- } else {
- dispersion(mobBot = 200, mobTop = 200);
- }
- // function calc dispersion
- function dispersion(bottom, top) {
- if (bottom < positionBot && positionTop < top) {
- element.classList.add(addClass);
- } else {
- element.classList.remove(addClass);
- }
- }
- })
- }
- document.addEventListener('scroll', checkPort);
- }
- // usage is in you port
- isInViewport('.js-viewport', 'about__row--in-view-port');
- // or
- // isInViewport('.js-viewport', 'about__row--in-view-port', 400, 300, 200, 200);
Add Comment
Please, Sign In to add comment