1var theme = {}; 2 3(function ($) { 4 5theme = { 6 7 /** 8 * Méthode déclenchée une seule fois au chargement du site 9 */ 10 init : function () { 11 // Classe à ajouter au chargement de la page 12 var loadClass = theme.isFirstLoad() ? 'firstLoad' : 'changePage'; 13 cache.html.addClass(loadClass); 14 15 // Ãcouteur d'évènements 16 theme.events(); 17 }, 18 19 20 /** 21 * Ãcouteurs d'évènements 22 */ 23 events : function () { 24 cache.document 25 26 // Ouverture/fermeture de l'aside 27 .on('click','.js-toggleAside', function (e) { 28 cache.body.toggleClass('openAside'); 29 cache.body.removeClass('openNav'); 30 e.preventDefault(); 31 }) 32 // Ouverture/fermeture du menu 33 .on('click','.js-toggleNavigation', function (e) { 34 cache.body.toggleClass('openNav'); 35 cache.body.removeClass('openAside'); 36 e.preventDefault(); 37 }) 38 // Contenu du lien dans l'aside 39 .on('click','.js-noLink', function (e) { 40 e.preventDefault(); 41 $(this).toggleClass('openLink'); 42 $('js-asdContent').slideDown(); 43 }) 44 45 // Remonter en haut de page 46 .on('click','.js-goTop', function (e) { 47 theme.animateScroll(0, cache.scroll.speed); 48 e.preventDefault(); 49 }) 50 // Scroller de la hauteur du la fenetre 51 .on('click','.js-goDown', function (e) { 52 var $target = $(this).parents('section'), 53 move = $target.offset().top + $target.outerHeight(true) - cache.scroll.shift; 54 theme.animateScroll(move, cache.scroll.speed); 55 e.preventDefault(); 56 }) 57 58 // Lien ne devant pas décharger le site (tel ou email) 59 .on('click', '.js-noUnload', function() { 60 // Empêche le déchargement du site 61 cache.unload = false; 62 63 // Re-active le déchargement 64 setTimeout(function() { 65 cache.unload = true; 66 }, 50); 67 }) 68 69 // Lien d'une ancre de la même page, on scroll en fluide 70 .on('click', '.js-anchorLink', function(e) { 71 Apy.goToAnchor($(this).attr('href'), e); 72 }) 73 .on('click', '.js-anchorItem a', function(e) { 74 Apy.goToAnchor($(this).attr('href'), e); 75 }) 76 77 // Ouverture des vidéos 78 .on('click', '.js-video', function (e) { 79 80 var $href = $(this).attr('href'); 81 82 if ( (Apy.currentMediaQuery !== 'small') && ($href.indexOf('youtube') > -1) ) { 83 84 $.fancybox.open({ 85 src: $href, 86 buttons: ['close'] 87 }) 88 e.preventDefault(); 89 } 90 }) 91 ; 92 }, 93 94 /** 95 * Detecte si on est sur le premier chargement du site 96 * @returns {boolean} 97 */ 98 isFirstLoad : function () { 99 return document.referrer.split('/')[2] !== location.hostname; 100 }, 101 102 /** 103 * Animation du scroll en fonction de l'activation du parallax 104 * @param move Distance à parcourir 105 * @param speed Vitesse de déplacement 106 */ 107 animateScroll : function (move, speed) { 108 speed = ( undefined !== speed ) ? speed : cache.scroll.speed; 109 (cache.activPara) ? cache.hbody.scrollTop(move) : cache.hbody.animate({scrollTop:move}, speed); 110 } 111 112 113}; 114 115/** 116 * Initialisation du gestionnaire de site 117 */ 118cache.document.ready(function () { 119 theme.init(); 120}); 121 122 123/** 124 * ÃCOUTEURS SUR LE CHARGEMENT DU SITE 125 */ 126 127// Début de changement de page 128window.addEventListener("beforeunload", function() { 129 if ( cache.unload ) { 130 cache.html.addClass('introwebsite').removeClass('pageloaded'); 131 } 132}); 133 134// Fin de chargement de page 135window.addEventListener("load", function() { 136 cache.html.removeClass('introwebsite').addClass('pageloaded'); 137}, false); 138 139 140})(jQuery);
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.