aboutsummaryrefslogtreecommitdiff
path: root/public/js/main.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/js/main.js')
-rw-r--r--public/js/main.js16
1 files changed, 12 insertions, 4 deletions
diff --git a/public/js/main.js b/public/js/main.js
index 1666b5c..6daf0be 100644
--- a/public/js/main.js
+++ b/public/js/main.js
@@ -78,7 +78,11 @@ function toggleTouchMenu(){
78 78
79function makeDropLeftMenuEntries(){ 79function makeDropLeftMenuEntries(){
80 // détection d'éléments de 1er niveau possédant un menu déroulant possédant un menu déroulant 80 // détection d'éléments de 1er niveau possédant un menu déroulant possédant un menu déroulant
81 document.getElementById('nav_zone').querySelector('.nav_main').querySelectorAll('.drop-down:has(.drop-right)').forEach(drop_down => { 81 const nav_zone = document.getElementById('nav_zone');
82 if(!nav_zone){
83 return;
84 }
85 nav_zone.querySelector('.nav_main').querySelectorAll('.drop-down:has(.drop-right)').forEach(drop_down => {
82 const rect = drop_down.getBoundingClientRect(); // coordonnées spatiales 86 const rect = drop_down.getBoundingClientRect(); // coordonnées spatiales
83 87
84 // il se situe dans la moitié droite 88 // il se situe dans la moitié droite
@@ -124,13 +128,19 @@ document.addEventListener('DOMContentLoaded', () => {
124 }); 128 });
125 }); 129 });
126 130
131 // menu principal
127 navHeight(); // hauteur de <nav> en fonction de celle du menu en position fixe 132 navHeight(); // hauteur de <nav> en fonction de celle du menu en position fixe
128 makeDropLeftMenuEntries(); // changer en drop-left les drop-right des éléments du menu dans la moitié droite de la fenêtre 133 makeDropLeftMenuEntries(); // changer en drop-left les drop-right des éléments du menu dans la moitié droite de la fenêtre
134
135 // dates des articles "news"
129 insertLocalDates(); 136 insertLocalDates();
130}); 137});
131 138
132function navHeight(){ 139function navHeight(){
133 const nav = document.querySelector('nav'); // détection 140 const nav = document.querySelector('nav'); // détection
141 if(!nav){
142 return;
143 }
134 const nav_zone = document.getElementById('nav_zone'); 144 const nav_zone = document.getElementById('nav_zone');
135 const resize_observer = new ResizeObserver(entries => { // param de type tableau 145 const resize_observer = new ResizeObserver(entries => { // param de type tableau
136 let nav_button_height = window.innerWidth <= 768 ? 26 : 0; // 26 = taille du bouton 146 let nav_button_height = window.innerWidth <= 768 ? 26 : 0; // 26 = taille du bouton
@@ -139,9 +149,7 @@ function navHeight(){
139 nav_zone.style.height = (entry.contentRect.height + nav_button_height) + 'px'; 149 nav_zone.style.height = (entry.contentRect.height + nav_button_height) + 'px';
140 } 150 }
141 }); 151 });
142 if(nav){ 152 resize_observer.observe(nav);
143 resize_observer.observe(nav);
144 }
145} 153}
146 154
147function fetchArticles(bloc_id){ 155function fetchArticles(bloc_id){