syncroScroll.js 1000 B

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