PageSourceSearch

https://chateaudemontferrand.fr/Local/montferrand/js/montferrand.js

js chateaudemontferrand.fr collected 2026-10-07 16:25:26 UTC 10,022 bytes, 266 lines download raw bytes

1
2jQuery(document).ready(function () {
3
4  var menuPos = jQuery( "#sticky_mnu" ).position().top;
5  manageScrollMenu(menuPos);
6
7  manageSizeHeaderHome();
8
9  jQuery(window).scroll(function(){
10    manageScrollMenu(menuPos);
11  });
12
13  jQuery(window).resize(function() {
14    manageSizeHeaderHome();
15  });
16
17
18 // -------------------------------------------------------------------------- 
19 // scroll to top 
20  jQuery("body").on("click touchstart", "#backtotop", function() {
21    jQuery("html, body").animate({
22      scrollTop: 0
23    }, 800);
24    return false;
25  });
26
27 // -------------------------------------------------------------------------- 
28 // scroll to content
29  jQuery("body").on("click touchstart", "#scroll-content", function() {
30    jQuery("html, body").animate({
31      scrollTop: jQuery("#content").offset().top
32    }, 800);
33    return false;
34  });
35
36 // -------------------------------------------------------------------------- 
37 // Pour les header des pages titre de page vs titre personnalisé
38  if (jQuery('#title_princ2_span').text() == "") {
39    jQuery('#title_princ2').remove();
40  } else {
41    jQuery('#title_princ1').remove();
42  }
43
44  if (jQuery('#sub_title_h1_span').text() == "") {
45    jQuery('#sub_title_h1').remove();
46  }
47 
48 // CONSTRUCTION POUR UN MENU UNIQUE
49 // Si le menu desktop existe et que le code du menu mobile (initialisé dans le footer HTML) existe
50  if (jQuery('#mnu_desktop').length > 0 && mobileMenuHtml.length > 0) {
51    // Création du code pour les 3 traits
52    var mobileMenuHtmlFirst = `
53        <div id="mnu_mobile" class="col-xl-9 col-lg-10 col-md-6 col-sm-4 col-xs-2 gs-boot-menu display_mnu_mobile">
54          <div class="mnu_only">
55            <div aria-label="Menu" id="mnu_mobile_button" role="button" tabindex="0" class="aria_button menu-icon is-closed header-icon header-icon-contact-canvas">
56              <span></span>
57            </div>
58          </div>
59        </div>
60    `;
61
62    // On récupére le code HTML du menu desktop présent sur la page
63    var desktopMenuHtml = jQuery('#mnu_desktop')[0].outerHTML;
64
65    // Fonction qui met le bon menu
66    function buildGoodMenu() {
67      // Si on est en version menu mobile
68      if (jQuery(window).width() <= 991) {
69        // Si le menu desktop est présent sur la page et que le menu mobile n'y est pas
70        if (jQuery('#mnu_mobile').length == 0 && jQuery('#mnu_desktop').length > 0) {
71          // Ajout du code HTML des 3 traits sour le menu desktop
72          jQuery('#mnu_desktop').after(mobileMenuHtmlFirst);
73          // Suppression du code du menu desktop
74          jQuery('#mnu_desktop').remove();
75          // Ajout du HTML du menu mobile sous la balise avec l'ID sticky_mnu
76          jQuery('#sticky_mnu').after(mobileMenuHtml);
77
78          // Initialisation de Sidr menu
79          if(jQuery("#side-contact-container").length > 0) {
80            jQuery(".header-icon-contact-canvas").sidr({
81              name: "side-contact-container",
82              source: "#side-contact-container",
83              side: "right",
84              renaming: false,
85              displace: false
86            });
87          }
88
89          // if(jQuery("#side-contact-container").length > 0) {
90          //   jQuery(".header-icon-contact-canvas").sidr({
91          //     name: "side-contact-container",
92          //     source: "#side-contact-container",
93          //     side: "right",
94          //     renaming: false,
95          //     displace: false
96          //   }).onOpen(function() {
97          //     jQuery('#side-contact-container').addClass('sidemenu_open');
98          //   }).onClose(function() {
99          //     jQuery('#side-contact-container').removeClass('sidemenu_open');
100          //   });
101          // }
102          // --------------------------------------------------------------------------
103          // Side menu - sous menu deroulant
104          if(jQuery(".widget ul.ul_2").length > 0) {
105            jQuery(".widget ul.ul_2").each(function() {
106              jQuery(this).prev().addClass('view_under_menu');
107              class_parent = jQuery(this).prev().attr('class');
108              text_parent = jQuery(this).prev().text();
109              jQuery(this).prev().remove();
110              jQuery(this).before('<div aria-label="'+text_parent+'" role="button" tabindex="0" class="'+class_parent+' aria_button">'+text_parent+'</div>');
111            });
112          }
113
114          jQuery(".widget #adm_menu1default").on("click touchstart", ".view_under_menu", function() {
115            jQuery(this).addClass('hide_under_menu').removeClass('view_under_menu');
116            jQuery(this).next().show('slide', { direction: 'up' });
117          });
118          jQuery(".widget #adm_menu1default").on("click touchstart", ".hide_under_menu", function() {
119            jQuery(this).addClass('view_under_menu').removeClass('hide_under_menu');
120            jQuery(this).next().hide('slide', { direction: 'up' });
121          });
122
123          // ------------------------------------------------------------------------------------
124          // Ajoute une classe au menu burger pour le transformer en croix quand on clique dessus
125          // + Donne à la barre contenu le menu burger un look de sticky quand on clique dessus (logo mini et fond bordeau)
126          jQuery(".mnu_only").on("click touchstart", ".is-closed", function() {
127            jQuery(this).addClass('is-opened').removeClass('is-closed');
128            jQuery("#sticky_mnu").addClass('sticky_like sticky_mobile');
129          });
130          jQuery(".mnu_only").on("click touchstart", ".is-opened", function() {
131            jQuery(this).addClass('is-closed').removeClass('is-opened');
132            jQuery("#sticky_mnu").removeClass('sticky_like sticky_mobile');
133          });
134        }
135
136      // Si on est en desktop
137      } else {
138        // Si le menu mobile est présent sur la page et que le menu desktop n'y est pas
139        if (jQuery('#mnu_mobile').length > 0 && jQuery('#mnu_desktop').length == 0) {
140          // Ajout du code HTML du menu desktop sous les 3 traits
141          jQuery('#mnu_mobile').after(desktopMenuHtml);
142          // Suppression du code des 3 traits
143          jQuery('#mnu_mobile').remove();
144          // Suppression du HTML du menu mobile
145          jQuery('#side-contact-container').remove();
146        }
147      }
148
149
150
151      //-- Event for aria button
152      //document.querySelector('.aria_button').addEventListener('keyup', btnkeyboard);
153
154      document.querySelectorAll('.aria_button').forEach(function (ariaButton) {
155        ariaButton.addEventListener('keyup', btnkeyboard);
156      });
157
158    }
159
160    // Lors du chargement de la page passage dans la fonction pour afficher le bon menu
161    buildGoodMenu();
162
163    // Lorsque l'on rezise la page passage dans la fonction pour afficher le bon menu
164    jQuery(window).on('resize', function () {
165      buildGoodMenu();
166    });
167  }
168
169
170
171
172 // -------------------------------------------------------------------------- 
173 // Script à utiliser avec la section txt-open-close
174  jQuery("body").on("click", ".h2-open-close", function() {
175    
176    var txtDiv = jQuery(this).next(".txt-open-close");// Cibler l'élément .txt-open-close suivant l'élément cliqué
177    var trigger = jQuery(this);// Référence à l'élément déclencheur
178
179    txtDiv.slideToggle({// Alterner l'affichage avec animation
180      duration: 400, // durée de l'animation
181      complete: function() {// Appliquer les classes selon l'état
182        if (txtDiv.is(":visible")) {
183          trigger.addClass("txt-is-open").removeClass("txt-is-close");
184        } else {
185          trigger.addClass("txt-is-close").removeClass("txt-is-open");
186        }
187      }
188    });
189  });
190
191  // -------------------------------------------------------------------------- 
192  // Donne à la barre contenu le menu burger un look de sticky quand on clique dessus
193  // (logo mini et fond bordeau)
194  // jQuery(".mnu_only").on("click touchstart", ".is-closed", function() {
195  //   jQuery("#sticky_mnu").addClass('sticky_like sticky_mobile');
196  // });
197  // jQuery(".mnu_only").on("click touchstart", ".is-opened", function() {
198  //   jQuery("#sticky_mnu").removeClass('sticky_like sticky_mobile');
199  // });
200
201
202});
203
204// --------------------------------------------------------------------------
205// mettre la photo d'en-tête des pages à la hauteur de la fenetre
206function manageSizeHeaderHome() {
207  jQuery(".header_photo").css("height",jQuery(window).height()-200+"px");
208  jQuery(".bandeau_video").css("height",jQuery(window).height()-200+"px");
209  jQuery(".bandeau_video .bloc_video").css("height",jQuery(window).height()-200+"px");
210
211}
212
213
214// --------------------------------------------------------------------------
215// afficher le menu sticky au scroll
216// function manageScrollMenu(menuPos) {
217
218//   var viewPos = jQuery(window).scrollTop();
219//   console.log(viewPos + ' / ' + menuPos);
220//   if(viewPos>menuPos) {
221//     if(!jQuery( "#sticky_mnu" ).hasClass('is_sticky')) {
222//       jQuery( "#sticky_mnu" ).addClass('is_sticky');
223//       jQuery( "#sticky_mnu" ).removeClass('not_sticky');
224//     }
225//   } else {
226//     jQuery( "#sticky_mnu" ).removeClass('is_sticky');
227//       jQuery( "#sticky_mnu" ).addClass('not_sticky');
228//   }
229
230// }
231
232function manageScrollMenu(menuPos) {
233
234  if (jQuery.trim(jQuery('#txt_msg_feu').text()) !== "") {
235    jQuery('.msg_feu').css('display', 'block');
236    alert_feu = true
237  } else {
238    jQuery('.msg_feu').css('display', 'none');
239    alert_feu = false
240  }
241
242  var viewPos = jQuery(window).scrollTop();
243  // console.log(viewPos + ' / ' + menuPos);
244  if(viewPos>menuPos) {
245    if(!jQuery( "#sticky_mnu" ).hasClass('is_sticky')) {
246      jQuery( "#sticky_mnu" ).addClass('is_sticky');
247      if (alert_feu) jQuery( "#sticky_mnu" ).removeClass('not_sticky');
248    }
249  } else {
250    jQuery( "#sticky_mnu" ).removeClass('is_sticky');
251    if (alert_feu) jQuery( "#sticky_mnu" ).addClass('not_sticky');
252  }
253
254}
255
256
257  function showSearchmnu () {
258    jQuery('#searchmnu').toggle();
259  }
260
261
262  function btnkeyboard(e) {
263      if (e.keyCode === 13 || e.keyCode === 32){
264        jQuery(this).click();
265      } 
266  }

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.