PageSourceSearch

https://www.ma-location-voiture.com/js/15082026-shortcode-desti-vsmx.js

js ma-location-voiture.com collected 2026-10-09 05:14:16 UTC 3,444 bytes, 101 lines download raw bytes

1window.addEventListener('scroll', scrollFunction, { passive: true });function scrollFunction() {if (document.body.scrollTop > 200 || document.documentElement.scrollTop > 200) {document.getElementById("myBtn").style.display = "block";} else {document.getElementById("myBtn").style.display = "none";}}
2function topFunction() {document.body.scrollTop = 0;document.documentElement.scrollTop = 0;document.getElementById("PickupLoc").focus();}
3document.addEventListener('DOMContentLoaded', function () {
4['mlvgeoconditions', 'mlvgeoinfo', 'mlvgeo2', 'mlvgeoinfocentre', 'mlvgeofaq'].forEach(function (id) {
5var section = document.getElementById(id);
6if (!section) return;
7
8section.querySelectorAll('h3').forEach(function (h3) {
9var siblings = [];
10var el = h3.nextElementSibling;
11while (el && !['H2', 'H3'].includes(el.tagName)) {
12if (el.tagName === 'P') siblings.push(el);
13el = el.nextElementSibling;
14}
15
16if (siblings.length === 0) return;
17
18h3.classList.add('mlv-has-p');
19siblings.forEach(function (p) { p.classList.add('mlv-collapsed'); });
20
21h3.addEventListener('click', function () {
22var isOpen = h3.classList.toggle('mlv-open');
23siblings.forEach(function (p) {
24p.classList.toggle('mlv-collapsed', !isOpen);
25});
26});
27});
28});
29});
30document.addEventListener('DOMContentLoaded', function () {
31document.querySelectorAll('.mlv-price-info').forEach(function (btn) {
32var wrap = btn.closest('.mlv-price-wrap');
33var tip = wrap ? wrap.querySelector('.mlv-price-tip') : null;
34if (!tip) return;
35
36btn.addEventListener('click', function (e) {
37e.preventDefault();
38e.stopPropagation();
39var open = tip.classList.toggle('is-open');
40btn.setAttribute('aria-expanded', open ? 'true' : 'false');
41});
42});
43
44document.addEventListener('click', function (e) {
45document.querySelectorAll('.mlv-price-tip.is-open').forEach(function (tip) {
46var wrap = tip.closest('.mlv-price-wrap');
47if (wrap && !wrap.contains(e.target)) {
48tip.classList.remove('is-open');
49var btn = wrap.querySelector('.mlv-price-info');
50if (btn) btn.setAttribute('aria-expanded', 'false');
51}
52});
53});
54
55document.addEventListener('keydown', function (e) {
56if (e.key !== 'Escape') return;
57document.querySelectorAll('.mlv-price-tip.is-open').forEach(function (tip) {
58tip.classList.remove('is-open');
59});
60});
61});
62document.addEventListener('DOMContentLoaded', function () {
63  if (window.matchMedia('(min-width:769px)').matches) return;
64  var cta = document.getElementById('mlvStickyCta');
65  var searchPanel = document.getElementById('NewSearchPanel');
66  if (!cta || !searchPanel) return;
67
68  var pastSearch = false;
69  var inHideZone = false;
70  var ticking = false;
71
72  function render() {
73    cta.classList.toggle('is-visible', pastSearch && !inHideZone);
74  }
75
76  function checkScroll() {
77    pastSearch = searchPanel.getBoundingClientRect().bottom < 0;
78    render();
79    ticking = false;
80  }
81
82  window.addEventListener('scroll', function () {
83    if (!ticking) {
84      requestAnimationFrame(checkScroll);
85      ticking = true;
86    }
87  }, { passive: true });
88
89  checkScroll(); // état initial au chargement
90
91  if ('IntersectionObserver' in window) {
92    var hideZones = document.querySelectorAll('.reassure-cta');
93    if (hideZones.length) {
94      var hideObserver = new IntersectionObserver(function (entries) {
95        inHideZone = entries.some(function (e) { return e.isIntersecting; });
96        render();
97      }, { threshold: 0.2 });
98      hideZones.forEach(function (el) { hideObserver.observe(el); });
99    }
100  }
101});

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.