PageSourceSearch

https://www.academie-cinema.org/wp-content/themes/cesar/assets/js/pages/ceremonie.js?ver=1588670368

js academie-cinema.org collected 2026-10-02 05:45:55 UTC 3,634 bytes, 94 lines download raw bytes

1jQuery(document).ready(function($) {
2    var $jQBody = jQuery('body');
3    if (!$jQBody.hasClass('page-template-page-ceremonie')) {
4        return;
5    }
6
7    /* Popin */
8    var $mainContent = jQuery('#ceremonie-basecontent'),
9        $popin = jQuery('#ceremonie-popin');
10    $popin.find('.inner').html($mainContent.html());
11
12    /* Horizontal scroll */
13    (function() {
14        var $ceremonieItems = document.getElementById('ceremonie-items');
15        if (!$ceremonieItems) {
16            return;
17        }
18        var $itemsYear = $ceremonieItems.querySelectorAll('.item-year');
19        var _scrollCenter = 0;
20        var _scrollAreaSize = 0;
21
22        var $ceremonieWrapper = document.querySelector('.main-content--ceremonie');
23        var $scrollBarInner = document.getElementById('ceremonie-scrollbar-inner');
24
25        /* Disable on touchscreen */
26        var _isTouch = false;
27
28        $ceremonieItems.addEventListener("touchstart", checkTouch, false);
29        $ceremonieItems.addEventListener("touchmove", checkTouch, false);
30        $ceremonieItems.addEventListener("touchend", endTouch, false);
31
32        function checkTouch() {
33            _isTouch = true;
34        }
35
36        function endTouch() {
37            _isTouch = false;
38        }
39
40        function resizeEvent() {
41            /* Cache item position */
42            for (var i = 0, len = $itemsYear.length; i < len; i++) {
43                $itemsYear[i].setAttribute('data-left', $itemsYear[i].offsetLeft);
44                $itemsYear[i].setAttribute('data-i', i);
45            }
46
47            _scrollAreaSize = $ceremonieItems.clientWidth;
48        }
49        window.addEventListener('resize', resizeEvent, 1);
50        resizeEvent();
51
52        /* Set Scroll */
53        function scrollHorizontally(e) {
54            /* Allow classic horizontal scrolling */
55            if (Math.abs(e.deltaX) > Math.abs(e.deltaY) && Math.abs(e.deltaY) > 0) {
56                return;
57            }
58
59            /* Disable on touchscreen */
60            if (!_isTouch && e.type != 'scroll' && e.type != 'touchmove' && e.type != 'touchend') {
61                e.preventDefault();
62
63                /* Get relative scrolldelta */
64                var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.detail)));
65
66                /* Multiply scroll distance by 20 to reach a more native feeling */
67                $ceremonieItems.scrollLeft -= (delta * 20);
68
69                /* Get threshold after witch items are marked as visible */
70                _scrollCenter = $ceremonieItems.scrollLeft + _scrollAreaSize * 0.6;
71
72                /* Mark items as visible */
73                var tmpLeft = 0;
74                for (var i = 0, len = $itemsYear.length; i < len; i++) {
75                    tmpLeft = parseInt($itemsYear[i].getAttribute('data-left'), 10);
76                    $itemsYear[i].setAttribute('data-visible', (tmpLeft <= _scrollCenter) ? '1' : '0');
77                }
78
79            }
80
81            /* Scrollbar */
82            if ($scrollBarInner) {
83                var _percent = $ceremonieItems.scrollLeft / ($ceremonieItems.scrollWidth - $ceremonieItems.offsetWidth) * 100;
84                $scrollBarInner.style.left = _percent + '%';
85            }
86        }
87        $ceremonieWrapper.addEventListener("wheel", scrollHorizontally, false);
88        $ceremonieWrapper.addEventListener("DOMMouseScroll", scrollHorizontally, false);
89        $ceremonieWrapper.addEventListener("touchmove", scrollHorizontally, false);
90        $ceremonieWrapper.addEventListener("touchend", scrollHorizontally, false);
91        $ceremonieWrapper.addEventListener("scroll", scrollHorizontally, false);
92
93    })();
94});

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.