1(function() { 2 var isMobile = window.innerWidth < 768; 3 4 function initAccordion(buttonClass, contentClass) { 5 var buttons = document.querySelectorAll(buttonClass); 6 var contentBlocks = document.querySelectorAll(contentClass); 7 var activeElementIndex = 0; 8 9 if (!buttons.length || !contentBlocks.length) { 10 return; 11 } 12 13 Array.from(buttons).forEach(function(element, index) { 14 element.addEventListener('click', function() { 15 activeElementIndex = index; 16 Array.from(contentBlocks).forEach(function(block, blockIndex) { 17 if (block.classList.contains('active')) { 18 block.classList.remove('active'); 19 } else { 20 block.classList.toggle('active', blockIndex === activeElementIndex); 21 } 22 element.scrollIntoView({behavior: 'smooth'}); 23 }); 24 }); 25 }); 26 } 27 28 function initAvatarsAnimation() { 29 var activeFirstTrack = true; 30 var track = document.querySelector('.all-tools__avatars.first'); 31 var images = document.querySelectorAll('.all-tools__avatars.first .all-tools__avatar-wrapper'); 32 var extraCardNumber = 3; 33 var shift = 46; 34 var count = 1; 35 var extraShift = shift * extraCardNumber; 36 var maxShift = 966; 37 38 setInterval(scroll, 1200); 39 40 function scroll() { 41 var translateValue = shift * count + extraShift; 42 if (translateValue === maxShift) { 43 track.classList.add('hidden'); 44 Array.from(images).forEach(function(image, index) { 45 if (index > 3) { 46 image.classList.add('hidden'); 47 } else { 48 image.classList.remove('hidden'); 49 } 50 }); 51 track.style.transform = 'translateX(0px)'; 52 53 activeFirstTrack = !activeFirstTrack; 54 var activeTrack = activeFirstTrack ? '.first' : '.second'; 55 track = document.querySelector('.all-tools__avatars' + activeTrack); 56 images = document.querySelectorAll( 57 '.all-tools__avatars' + activeTrack + ' .all-tools__avatar-wrapper'); 58 track.classList.remove('hidden'); 59 count = 1; 60 extraShift = 0; 61 extraCardNumber = 0; 62 translateValue = shift; 63 } 64 track.style.transform = 'translateX(-' + translateValue + 'px)'; 65 66 var disappearingImage = images[count - 1 + extraCardNumber]; 67 disappearingImage.classList.add('hidden'); 68 var emergingImage = images[count - 1 + 3 + extraCardNumber]; 69 emergingImage.classList.remove('hidden'); 70 71 count++; 72 } 73 } 74 75 function init() { 76 if (isMobile) { 77 initAccordion('.all-tools__item-mobile-title-wrapper', '.all-tools__item'); 78 initAccordion('.custom-text-image__content .se-title', '.custom-text-image__item'); 79 80 } 81 initAvatarsAnimation(); 82 } 83 84 if (document.readyState !== 'loading') { 85 init(); 86 } else { 87 document.addEventListener('DOMContentLoaded', init); 88 } 89})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.