[javascript] Infobulle en dessous des liens

afrodje Messages postés 759 Date d'inscription   Statut Membre Dernière intervention   -  
Marco la baraque Messages postés 996 Date d'inscription   Statut Contributeur Dernière intervention   -
Salut.
J'ai récupéré le code sur www.toutjavascript.com pour avoir des info bulles.

Le probleme est que cette infobulle passe en dessous des liens alors qu'elle doit etre au premier plan...

Voici la fonction Affbulle() :


var IB=new Object;
var posX=0;posY=0;
var xOffset=0;yOffset=250;
function AffBulle(texte) {
			  contenu="<TABLE border=0 cellspacing=0 cellpadding="+IB.NbPixel+"><TR bgcolor='"+IB.ColContour+"'><TD><TABLE border=0 cellpadding=2 cellspacing=0 bgcolor='"+IB.ColFond+"'><TR><TD><FONT size='-1' face='arial' color='"+IB.ColTexte+"'>"+texte+"</FONT></TD></TR></TABLE></TD></TR></TABLE>&nbsp;";
			  var finalPosX=posX-xOffset;
			  if (finalPosX<0) finalPosX=0;
			  if (document.layers) {
				document.layers["bulle"].document.write(contenu);
				document.layers["bulle"].document.close();
				document.layers["bulle"].top=posY+yOffset;
				document.layers["bulle"].left=finalPosX;
				document.layers["bulle"].visibility="show";}
			  if (document.all) {
				//var f=window.event;
				//doc=document.body.scrollTop;
				bulle.innerHTML=contenu;
				document.all["bulle"].style.top=posY+yOffset;
				document.all["bulle"].style.left=finalPosX;//f.x-xOffset;
				document.all["bulle"].style.visibility="visible";
			  }
			  //modif CL 09/2001 - NS6 : celui-ci ne supporte plus document.layers mais document.getElementById
			  else if (document.getElementById) {
				document.getElementById("bulle").innerHTML=contenu;
				document.getElementById("bulle").style.top=posY+yOffset;
				document.getElementById("bulle").style.left=finalPosX;
				document.getElementById("bulle").style.visibility="visible";
			  }
}



Voici l'appel :



echo '<SCRIPT language="JavaScript">InitBulle("navy","#FFCC66","orange",1);
		  
		  </SCRIPT>';
 
echo "<font color='red'>•</font>&nbsp;<A class=info href='".$url_appli."' target='DETAIL' onMouseOver=\"AffBulle('".$detail_info_bulle."')\" onMouseOut=\"HideBulle()\">".$titre_appli."</A><br />";


Merci

A voir également:

1 réponse

Marco la baraque Messages postés 996 Date d'inscription   Statut Contributeur Dernière intervention   329
 
Bonsoir Afrodge,
L'attribut css permettant de gérer le niveau des couches est z_index.
Il faut ici préciser que le z_index de ta bulle est grand (on va prendre 100, en principe ça devrait être au dessus de tout le reste) :
...
document.layers["bulle"].left=finalPosX;
document.layers["bulle"].visibility="show";
document.layers["bulle"].zIndex="100";}
...
document.all["bulle"].style.left=finalPosX;//f.x-xOffset;
document.all["bulle"].style.visibility="visible";
document.all["bulle"].style.zIndex="100";
...
document.getElementById("bulle").style.left=finalPosX;
document.getElementById("bulle").style.visibility="visible";
document.getElementById("bulle").style.zIndex="100";
...


Cordialement,
0