Advertisement
Guest User

Untitled

a guest
Nov 21st, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. Array.from(document.querySelectorAll('.magazine-slider__wrapper')).forEach(function (element) {
  2. var flickity = new Flickity(element, {
  3. cellSelector: '.magazine-slider-card',
  4. cellAlign: 'left',
  5. pageDots: false,
  6. draggable: document.documentElement.classList.contains("touch"),
  7. accessibility: true,
  8. prevNextButtons: false
  9. });
  10.  
  11. var previousButton = element.parentNode.querySelector('.magazine-slider-control__button--previous');
  12. previousButton.classList.add("disabled");
  13.  
  14. previousButton.addEventListener('click', function(event) {
  15. flickity.previous();
  16.  
  17. if(flickity.selectedIndex == 0) {
  18. previousButton.classList.add("disabled");
  19. } {
  20. nextButton.classList.remove("disabled");
  21. }
  22. });
  23.  
  24. var nextButton = element.parentNode.querySelector('.magazine-slider-control__button--next')
  25.  
  26. nextButton.addEventListener('click', function(event) {
  27. flickity.next();
  28.  
  29. if(flickity.selectedIndex == flickity.cells.length - 1) {
  30. nextButton.classList.add("disabled");
  31. } else {
  32. previousButton.classList.remove("disabled");
  33. }
  34. });
  35.  
  36. var pagination = element.parentNode.querySelector('.magazine-slider-control__pagination'),
  37. bar = element.parentNode.querySelector('.magazine-slider-control__pagination-scroll');
  38.  
  39. flickity.on('scroll', function(progress) {
  40. var progress = Math.max(0, Math.min(1, progress)),
  41. parentWidth = pagination.offsetWidth;
  42. barWidth = bar.offsetWidth;
  43.  
  44. bar.style.left = (parentWidth - barWidth) * progress + 'px';
  45. });
  46. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement