PageSourceSearch

https://rhn-espacepourlavie.ca/js/common.js

js rhn-espacepourlavie.ca collected 2026-10-06 16:33:36 UTC 6,257 bytes, 236 lines download raw bytes

1var windowH = $(window).height();
2
3$.fn.isInViewport = function () {
4  var elementTop = $(this).offset().top;
5  var elementBottom = elementTop + $(this).outerHeight();
6  var viewportTop = $(window).scrollTop();
7  var viewportBottom = viewportTop + $(window).height();
8  return elementBottom > viewportTop && elementTop < viewportBottom;
9};
10
11
12$(window).on("resize scroll", function () {
13  setTimeout(function () { //calls click event after a certain time
14    $('[data-toggle="tooltip"]').tooltip('hide');
15  }, 0);
16  if (!$("h1").isInViewport() && $(window).width() > 768) {
17    $("header").addClass("shrink");
18    $(".menu-item").addClass("btn-shrink");
19    $(".menu-wrap").css("margin-top", $(".header").outerHeight());
20    TweenLite.to("#cbp-fbscroller nav, .scroll-to-top", 1, {
21      autoAlpha: 1
22    });
23  } else {
24    $("header").removeClass("shrink");
25    $(".menu-item").removeClass("btn-shrink");
26    $(".menu-wrap").css("margin-top", $(".header").outerHeight());
27    $(".cbp-fbscroller > nav a").removeClass("cbp-fbcurrent");
28    TweenLite.to("#cbp-fbscroller nav, .scroll-to-top", 1, {
29      autoAlpha: 0
30    });
31  }
32});
33
34$(window).on("load", function () {
35  $("#loading").fadeOut(1000);
36});
37
38$(window).resize(function () {
39  $("#slider-eplv").css("padding-top", $(".header").outerHeight()-15);
40  $(".transform").css("margin-top", $(".alternate").outerHeight());
41  $(".menu-wrap").css("margin-top", $(".header").outerHeight());
42});
43
44/* ==================================================
45   Anchor
46================================================== */
47
48$('a[href^="#"]').click(function () {
49  var headerHeight = $(".header").height();
50
51  $("html, body").animate({
52      scrollTop: $($.attr(this, "href")).offset().top - headerHeight
53    },
54    600
55  );
56  return false;
57});
58
59/* ==================================================
60   Scroll to top
61================================================== */
62
63jQuery('div.scroll-to-top a').on('click', function () {
64  jQuery("html, body").animate({
65    scrollTop: 0
66  }, 600);
67  return false;
68});
69
70/* ==================================================
71   Accordion
72================================================== */
73
74$(document).ready(function () {
75  $("#slider-eplv").css("padding-top", $(".header").outerHeight()-15);
76  $(".transform").css("margin-top", $(".alternate").outerHeight());
77  $(".menu-wrap").css("margin-top", $(".header").outerHeight());
78  TweenLite.to("#cbp-fbscroller nav, .scroll-to-top", 0, {
79    autoAlpha: 0
80  });
81
82  // Add minus icon for collapse element which is open by default
83  $(".collapse.in").each(function () {
84    $(this)
85      .siblings(".media-body")
86      .find(".fa")
87      .addClass("fa-minus-circle")
88      .removeClass("fa-plus-circle");
89  });
90
91  // Toggle plus minus icon on show hide of collapse element
92  $(".collapse")
93    .on("show.bs.collapse", function () {
94      $(this)
95        .parent()
96        .find(".fa")
97        .removeClass("fa-plus-circle")
98        .addClass("fa-minus-circle");
99    })
100    .on("hide.bs.collapse", function () {
101      $(this)
102        .parent()
103        .find(".fa")
104        .removeClass("fa-minus-circle")
105        .addClass("fa-plus-circle");
106    });
107});
108
109
110/* ==================================================
111   TOOLTIP
112================================================== */
113
114$(function () {
115  $('[data-toggle="tooltip"]').tooltip({
116    html: true
117  });
118})
119
120/* ==================================================
121   MODAL
122================================================== */
123
124$(".modal").on("hide.bs.modal", function (e) {
125  var $if = $(e.delegateTarget).find("iframe");
126  var src = $if.attr("src");
127  $if.attr("src", "/empty.html");
128  $if.attr("src", src);
129});
130
131/* ==================================================
132   SIDE PUSH MENU
133================================================== */
134
135(function (window) {
136  "use strict";
137
138  // class helper functions from bonzo https://github.com/ded/bonzo
139
140  function classReg(className) {
141    return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
142  }
143
144  // classList support for class management
145  // altho to be fair, the api sucks because it won't accept multiple classes at once
146  var hasClass, addClass, removeClass;
147
148  if ("classList" in document.documentElement) {
149    hasClass = function (elem, c) {
150      return elem.classList.contains(c);
151    };
152    addClass = function (elem, c) {
153      elem.classList.add(c);
154    };
155    removeClass = function (elem, c) {
156      elem.classList.remove(c);
157    };
158  } else {
159    hasClass = function (elem, c) {
160      return classReg(c).test(elem.className);
161    };
162    addClass = function (elem, c) {
163      if (!hasClass(elem, c)) {
164        elem.className = elem.className + " " + c;
165      }
166    };
167    removeClass = function (elem, c) {
168      elem.className = elem.className.replace(classReg(c), " ");
169    };
170  }
171
172  function toggleClass(elem, c) {
173    var fn = hasClass(elem, c) ? removeClass : addClass;
174    fn(elem, c);
175  }
176
177  var classie = {
178    // full names
179    hasClass: hasClass,
180    addClass: addClass,
181    removeClass: removeClass,
182    toggleClass: toggleClass,
183    // short names
184    has: hasClass,
185    add: addClass,
186    remove: removeClass,
187    toggle: toggleClass
188  };
189
190  // transport
191  if (typeof define === "function" && define.amd) {
192    // AMD
193    define(classie);
194  } else {
195    // browser global
196    window.classie = classie;
197  }
198})(window);
199
200(function () {
201  var bodyEl = document.body,
202    content = document.querySelector(".content-wrap"),
203    openbtn = document.getElementById("open-button"),
204    closebtn = document.getElementById("close-button"),
205    isOpen = false;
206
207  function init() {
208    initEvents();
209  }
210
211  function initEvents() {
212    openbtn.addEventListener("click", toggleMenu);
213    if (closebtn) {
214      closebtn.addEventListener("click", toggleMenu);
215    }
216
217    // close the menu element if the target it´s not the menu element or one of its descendants..
218    content.addEventListener("click", function (ev) {
219      var target = ev.target;
220      if (isOpen && target !== openbtn) {
221        toggleMenu();
222      }
223    });
224  }
225
226  function toggleMenu() {
227    if (isOpen) {
228      classie.remove(bodyEl, "show-menu");
229    } else {
230      classie.add(bodyEl, "show-menu");
231    }
232    isOpen = !isOpen;
233  }
234
235  init();
236})();

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.