PageSourceSearch

https://seranking.com/wp-content/themes/se_theme/page-templates/fr…/front-page-2025/assets/js/app.js?v=3333

js seranking.com collected 2026-09-24 07:24:58 UTC 3,434 bytes, 89 lines download raw bytes

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.