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.