summaryrefslogtreecommitdiff
path: root/public/js/main.js
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2025-07-10 18:11:30 +0200
committerpolo <ordipolo@gmx.fr>2025-07-10 18:11:30 +0200
commit27d88f0b226a0bb8e07f0bea83f47a9bc4bbff32 (patch)
tree37cc82ce2ff2ce4427c30a9f6a1236cc527b4002 /public/js/main.js
parent98607cfab90f37b47a9c7607fe0db64581d86696 (diff)
downloadcms-27d88f0b226a0bb8e07f0bea83f47a9bc4bbff32.zip
sous-menus déroulables avec écran tactile
Diffstat (limited to 'public/js/main.js')
-rw-r--r--public/js/main.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/public/js/main.js b/public/js/main.js
index 071a1db..6eb0162 100644
--- a/public/js/main.js
+++ b/public/js/main.js
@@ -8,6 +8,33 @@ function newPassword(page, id = ''){
8 }, 0); 8 }, 0);
9} 9}
10 10
11// ouvrir/fermer les sous-menus avec écran tactile
12document.addEventListener('DOMContentLoaded', () => { // sinon on ne trouve pas les boutons
13 document.querySelectorAll('.sub-menu-toggle').forEach(button => {
14 button.addEventListener('click', e => {
15 e.preventDefault();
16 const li = button.parentElement; // <li class="drop-down">
17
18 // fermer les autres sous-menus de même niveau
19 // :scope pour pouvoir utiliser > pour restreindre aux frères directs
20 li.parentElement.querySelectorAll(':scope > .drop-down, :scope > .drop-right').forEach(sibling => {
21 if(sibling !== li){
22 sibling.classList.remove('open'); // fermer sous-menus frères
23 sibling.querySelectorAll('.drop-right').forEach(desc => {
24 desc.classList.remove('open'); // fermer sous-menus neveux
25 });
26 }
27 });
28
29 if(!li.classList.toggle('open')){ // fermer sous-menu
30 li.querySelectorAll('.drop-right').forEach(desc => {
31 desc.classList.remove('open'); // fermer sous-menus enfants
32 });
33 }
34 });
35 });
36});
37
11function copyInClipBoard(link){ 38function copyInClipBoard(link){
12 // une balise <input> avec des attributs 39 // une balise <input> avec des attributs
13 var element = document.createElement("input"); 40 var element = document.createElement("input");