Dans le but de faire une gestion de fenetres div en Javascript/protoype/scriptaculous, j'ai bati des fenetres créées par un serveur Ajax ou je récupère dynamiquement le code html à insérer dans un div avec "position:absolute" que je permet de déplacer avec "new Draggable('ma_fenetre')".
Pour gérer leur position en profondeur , je prends tous les éléments avec attribut div sous 'conten_fen' qui contient mes div de fenetres, je boucle toutes les fenêtres existantes afin de repérer le z-index maximum, et attribuer à la future fenetre ce z-index + 1 :
Mais là, étrangement, la redéfinition de z-index n'est pas appliquée... ou un peu n'importe comment. Qu'ai-je pu rater ?
Mon code JS : ('conten_fen' = mon div contenaire du div de la fenetre)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 function fen_z_index(nom_fen) { var max_val_z=0; alert($('conten_fen').childElementCount); for (i=0 ; i<$('conten_fen').childElementCount ; i++ ) { elt=$('conten_fen').down('div',i); val_z=elt.getStyle('z-index'); if(!val_z) val_z=1; // pour que val_z ne soit pas null par défaut alert('val_z='+val_z); if(val_z>max_val_z) { max_val_z=val_z; max_val_z++; $(nom_fen).setStyle('z-index:'+max_val_z); // on redemande à la fin pour voir si modification effectuée : val_z=elt.getStyle('z-index'); alert('max_val_z='+max_val_z+' et z-index:'+val_z); } } }
Partager