11540 sujets

JavaScript, DOM et API Web HTML5

bonjour,
j'ai une fonction javascript qui utilise les bibliothèques scriptaculous pour faire des slides de menus. le but est de faire que les deux menus ne se chevauchent pas, donc de jouer sur le zindex. voici le code de la fonction :



var slidingBottom = true;

function slidingTab() {
		var panels = document.getElementsByClassName('panelHaut');
		/*bodyPanels[0].hide();*/
		/*panels[0].style.position ='absolute';*/
		panels[0].style.top = -100;
		
		Event.observe("image", 'click', slidingFunction, false);
		
}

function slidingFunction() {
	
	/*Effect.toggle ('desc','slide');*/
	
	var panels = document.getElementById('desc');
	var bodyPanels = document.getElementsByClassName('panel_body');


	if (slidingBottom == true) {
		
		if (slidingTop == true) new Effect.SlideUp(bodyPanels[0]);
	
		new Effect.SlideDown('desc');
		slidingBottom = false;
		slidingTop = false;
		}
		
	else {
		new Effect.SlideUp('desc');
		slidingBottom = true;
		}
	
	
	
}

Event.observe(window, 'load', slidingTab, false);




le div de <i>className panelHaut</i> a en positionnement relatif. Je voudrais donc que sur le click de ce bouton ce div soit positionné en premier plan.
dans le fonction <i>slidingFunction</i> j'ai essayé d'ajouter

document.getElementsByClassName('panelHaut').style.zIndex=0;

mais ca ne fonctionne pas.

Quelqu'un aurait-il une idée ?


[code]
Modifié par anatalsceo (03 Sep 2007 - 09:28)
document.getElementsByClassName('panelHaut') te retourne un tableau d'éléments, tu ne peux donc pas lui appliquer un style.

Avec JQuery ça aurait été carrément plus facile car cette librairie te permet d'appliquer des méthodes sur plusieurs élements d'un coup. Ex:
$('.panelHaut').css({zIndex: 0});
J'ai trouvé. Attention, pour que cela fonctionne, il faut que votre div soit en position relative ou absolue.


$('panelBas').setStyle({'z-index':'1'});
Salut


var arPanelHaut = document.getElementsByClassName('panelHaut');
for(i=0;i<arPanelHaut.length;i++){
arPanelHaut[i ].style.zIndex = 0;
}

Modifié par skywalk3r (04 Sep 2007 - 19:09)