![]() |
Forum SELFHTML: Archives: |
|
|
Le message suivant est de: gom,
ghohm44@hotmail.com, 19. 01. 2004, 10:48
Salut tlm,
je suis en train de remodeler un site Internet et l'on me demande de créer un menu dynamique, horizontale dans un premier temps et verticale dans un deuxieme temps. J'ai donc fait un tableau d'une ligne avec 6 colonnes (= 1 ligne de 6 cellules), puis j'ai créé des calques (=colonnes) qui s'affichent lors du survol d'une cellule. Ca fonctionne impécablement sous ie mais pas sous netscape :s !!!
Pourriez vous m'indiquer des urls où je pourrais trouver un article de manière à réussir à rendre mon script compatible !?
Merci d'avance. Gôm
PS : Le site de <a href="http://www.france5.fr" target="_blank">France 5</a> ... lui fonctionne :'(
Le message suivant est de: Jean-marc GULLUNG,
jean-marc.gullung@uhp-nancy.fr, 19. 01. 2004, 11:26
»» Salut tlm,
»» je suis en train de remodeler un site Internet et l'on me demande de créer un menu dynamique, horizontale dans un premier temps et verticale dans un deuxieme temps. J'ai donc fait un tableau d'une ligne avec 6 colonnes (= 1 ligne de 6 cellules), puis j'ai créé des calques (=colonnes) qui s'affichent lors du survol d'une cellule. Ca fonctionne impécablement sous ie mais pas sous netscape :s !!!
»» Pourriez vous m'indiquer des urls où je pourrais trouver un article de manière à réussir à rendre mon script compatible !?
»» Merci d'avance. Gôm
»» PS : Le site de <a href="http://www.france5.fr" target="_blank">France 5</a> ... lui fonctionne :'(
Voici un petit script qui peut résoudre ton problème ou du moins d'orienter vers une solution.
<script language="Javascript">
var ns4 = (document.layers)? true:false; //NS 4
var ie4 = (document.all)? true:false; //IE 4
var dom = (document.getElementById)? true:false; //DOM
var PreloadFlag = false;
var bloc_affiche='';
function Show(DivId)
/*********************************************
Fonction permettant de rendre visible un DIV.
Paramètres :
DivId -> propriété ID du <DIV>
**********************************************/
{
// Coordonnées du calque
x=0;
y=0;
// Un calque est affiché, oui, on l'efface
if (bloc_affiche != '')
{
Hide(bloc_affiche);
}
bloc_affiche = DivId;
// En fonction du nom du calque, on change les coordonnées d'affichage
switch (DivId) {
case 'bloc20' :
x = "800";
y = "-200";
break;
case 'bloc_date' :
x = "750";
y = "20";
break;
default :
x = "0";
y = "0";
}
if (dom)
{
x+="px";
y+="px";
document.getElementById(DivId).style.left = x;
document.getElementById(DivId).style.top = y;
document.getElementById(DivId).style.visibility = "visible";
}
else if (ie4)
{
document.all[DivId].style.pixelLeft = x;
document.all[DivId].style.pixelTop = y;
document.all[DivId].style.visibility = "visible";
}
else if (ns4)
{
document.layers[DivId].moveTo(x,y);
document.layers[DivId].visibility = "show";
}
}
function Hide(DivId)
/*********************************************
Fonction permettant de rendre invisible un DIV.
Paramètres :
DivId -> propriété ID du <DIV>
**********************************************/
{
if (dom)
{
document.getElementById(DivId).style.visibility = "hidden";
}
else if (ie4)
{
document.all[DivId].style.visibility = "hidden";
}
else if (ns4)
{
document.layers[DivId].visibility = "hide";
}
}
</script>
L'appel se fait de la façon suivante :
<input type="text" name="p_nom" class="ChampsObligatoire" size="25" maxlength="25" value="" onFocus="Show('bloc_'+this.name)">
<div class="Aide" id="bloc_p_nom" style="visibility:hidden"><font size="2">Veuillez saisir votre nom patronymique. Celui de jeune fille pour une femme mariée.</font></div>
Lorsque l'on clique dans le champ p_nom, le calque s'affiche.
Voilà en espérant que cela t'aide.
Le message suivant est de: gom,
ghohm44@hotmail.com, 19. 01. 2004, 11:33
Merci beaucoup de ta réponse j'essaye ca de suite !!
Gôm
© 1998-2004
selfhtml@fr.selfhtml.org