UNPKG

scrollscene

Version:

ScrollScene is an extra layer on top of ScrollMagic as well as using IntersectionObserver to achieve similar effects.

29 lines (25 loc) 3.09 kB
import throttle from 'lodash.throttle'; import { isObject } from "./isObject"; export var scrollAnimationInit = function scrollAnimationInit(breakpoints, init, destroy) { if (isObject(breakpoints)) { var keys = Object.keys(breakpoints).reverse(); var fn = function fn() { for (var index = 0; index < keys.length; index += 1) { var breakpoint = parseFloat(keys[index]); if (breakpoint <= window.innerWidth) { if (breakpoints[breakpoint]) { init(); } else { destroy(); } break; } } }; fn(); window.addEventListener('resize', throttle(fn, 700)); } else { init(); } }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9oZWxwZXJzL3Njcm9sbEFuaW1hdGlvbkluaXQudHMiXSwibmFtZXMiOlsidGhyb3R0bGUiLCJpc09iamVjdCIsInNjcm9sbEFuaW1hdGlvbkluaXQiLCJicmVha3BvaW50cyIsImluaXQiLCJkZXN0cm95Iiwia2V5cyIsIk9iamVjdCIsInJldmVyc2UiLCJmbiIsImluZGV4IiwibGVuZ3RoIiwiYnJlYWtwb2ludCIsInBhcnNlRmxvYXQiLCJ3aW5kb3ciLCJpbm5lcldpZHRoIiwiYWRkRXZlbnRMaXN0ZW5lciJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsUUFBUCxNQUFxQixpQkFBckI7QUFDQSxTQUFTQyxRQUFUO0FBRUEsT0FBTyxJQUFNQyxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQXNCLENBQUNDLFdBQUQsRUFBY0MsSUFBZCxFQUFvQkMsT0FBcEIsRUFBZ0M7QUFDakUsTUFBSUosUUFBUSxDQUFDRSxXQUFELENBQVosRUFBMkI7QUFDekIsUUFBTUcsSUFBSSxHQUFHQyxNQUFNLENBQUNELElBQVAsQ0FBWUgsV0FBWixFQUF5QkssT0FBekIsRUFBYjs7QUFFQSxRQUFNQyxFQUFFLEdBQUcsU0FBTEEsRUFBSyxHQUFNO0FBQ2YsV0FBSyxJQUFJQyxLQUFLLEdBQUcsQ0FBakIsRUFBb0JBLEtBQUssR0FBR0osSUFBSSxDQUFDSyxNQUFqQyxFQUF5Q0QsS0FBSyxJQUFJLENBQWxELEVBQXFEO0FBQ25ELFlBQU1FLFVBQVUsR0FBR0MsVUFBVSxDQUFDUCxJQUFJLENBQUNJLEtBQUQsQ0FBTCxDQUE3Qjs7QUFFQSxZQUFJRSxVQUFVLElBQUlFLE1BQU0sQ0FBQ0MsVUFBekIsRUFBcUM7QUFDbkMsY0FBSVosV0FBVyxDQUFDUyxVQUFELENBQWYsRUFBNkI7QUFDM0JSLFlBQUFBLElBQUk7QUFDTCxXQUZELE1BRU87QUFDTEMsWUFBQUEsT0FBTztBQUNSOztBQUVEO0FBQ0Q7QUFDRjtBQUNGLEtBZEQ7O0FBZ0JBSSxJQUFBQSxFQUFFO0FBRUZLLElBQUFBLE1BQU0sQ0FBQ0UsZ0JBQVAsQ0FBd0IsUUFBeEIsRUFBa0NoQixRQUFRLENBQUNTLEVBQUQsRUFBSyxHQUFMLENBQTFDO0FBQ0QsR0F0QkQsTUFzQk87QUFDTEwsSUFBQUEsSUFBSTtBQUNMO0FBQ0YsQ0ExQk0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdGhyb3R0bGUgZnJvbSAnbG9kYXNoLnRocm90dGxlJ1xuaW1wb3J0IHsgaXNPYmplY3QgfSBmcm9tICcuL2lzT2JqZWN0J1xuXG5leHBvcnQgY29uc3Qgc2Nyb2xsQW5pbWF0aW9uSW5pdCA9IChicmVha3BvaW50cywgaW5pdCwgZGVzdHJveSkgPT4ge1xuICBpZiAoaXNPYmplY3QoYnJlYWtwb2ludHMpKSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGJyZWFrcG9pbnRzKS5yZXZlcnNlKClcblxuICAgIGNvbnN0IGZuID0gKCkgPT4ge1xuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGtleXMubGVuZ3RoOyBpbmRleCArPSAxKSB7XG4gICAgICAgIGNvbnN0IGJyZWFrcG9pbnQgPSBwYXJzZUZsb2F0KGtleXNbaW5kZXhdKVxuXG4gICAgICAgIGlmIChicmVha3BvaW50IDw9IHdpbmRvdy5pbm5lcldpZHRoKSB7XG4gICAgICAgICAgaWYgKGJyZWFrcG9pbnRzW2JyZWFrcG9pbnRdKSB7XG4gICAgICAgICAgICBpbml0KClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGVzdHJveSgpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZuKClcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aHJvdHRsZShmbiwgNzAwKSlcbiAgfSBlbHNlIHtcbiAgICBpbml0KClcbiAgfVxufVxuIl19