PageSourceSearch

https://arbezie.com/assets/themes/theme-apiandyou/public/js/theme.js

js arbezie.com collected 2026-10-10 01:04:24 UTC 4,149 bytes, 140 lines download raw bytes

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.