Last active
December 30, 2018 11:16
-
-
Save PonomareVlad/48b55aecadfdfc46d18b5a67bc5ef298 to your computer and use it in GitHub Desktop.
SlideScroll + UrlScroll + GTM
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Запускаем плагин слайдов | |
window.slideScroll = new SlideScroll({ | |
lazyDisplayOffset: 3, // Количество отображаемых блоков относительно активного | |
debug: true // Режим отладки в консоли | |
}); | |
slideScroll.onActive(slideNode => dataLayer.push({'event': 'foto_' + slideNode.order})); // GTM | |
slideScroll.onReady(() => { | |
// Запускаем плагин смены Url после того как запустился плагин слайдов | |
window.urlscroll = new UrlScroll({ | |
scrollNode: '[data-slider-viewport]', // Контейнер слайдов | |
scrollEventNode: false, // Отключаем встроенный обработчик события прокрутки, т.к. будет использоваться обработчик плагина слайдов | |
debug: true, // Режим отладки в консоли | |
customRouterScrollWorker: node => node && SlideScroll.calcSlideOffsets(node) && | |
SlideScroll.setSlideDisplay(node, true) && SlideScroll.setSlideDim(node, 0) && | |
UrlScroll.asyncThread(() => window.scrollTo(0, node.sectionOffset)) // Перезаписываем обработчик, который прокручивает страницу к целевому слайду, при загрузке страницы | |
}); | |
// Подписываем функцию смены адреса страницы, на событие смены активного слайда | |
slideScroll.onActive(urlscroll.setSectionState.bind(urlscroll)); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment