syncroScroll.js 1.1 KB

12345678910111213141516171819202122232425262728
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. function syncronizeElementsScrolling(elements, direction) {
  4. if (direction === void 0) { direction = "vh"; }
  5. var activeScroller = null;
  6. var bSyncroV = direction.indexOf("v") > -1;
  7. var bSyncroH = direction.indexOf("h") > -1;
  8. var applyListener = function (element) {
  9. element.addEventListener("mouseenter", function (e) {
  10. activeScroller = e.target;
  11. });
  12. element.addEventListener("scroll", function (e) {
  13. if (e.target !== activeScroller)
  14. return;
  15. elements.forEach(function (element) {
  16. if (activeScroller === element || activeScroller === null)
  17. return;
  18. if (bSyncroV)
  19. element.scrollTop = activeScroller.scrollTop;
  20. if (bSyncroH)
  21. element.scrollLeft = activeScroller.scrollLeft;
  22. });
  23. });
  24. };
  25. elements.forEach(applyListener);
  26. }
  27. exports.default = syncronizeElementsScrolling;
  28. //# sourceMappingURL=syncroScroll.js.map