pb de layer avec netscape ! - HTML/CSS - Programmation
MarshPosté le 29-03-2004 à 14:54:37
Salut,
j'ai un problème.. je dois rendre compatible avec netscape un code dont je ne suis pas l'auteur, et comme je ne suis pas tres fortiche en JS, c'est pas gagné !!!
En fait, il s'agit de pages avec des layers qui s'affichent lorsque que l'on clique à certains endroits, ça fonctionne avec IE, mais pas avec NN !!!
Voilà les fonctions dans le fichier.js:: function MM_showHideLayers() { //v3.0 var i,p,v,obj,args=MM_showHideLayers.arguments; for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2]; if (obj.style) { obj=obj.style;
v=(v=='show')?'visible'v='hide')?'hidden':v; } obj.visibility=v; } } function MM_findObj(n, d) { //v3.0 var p,i,x; if(!d) d=document;
if((p=n.indexOf("?" ))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++)
Marsh Posté le 29-03-2004 à 14:54:37
Salut,
j'ai un problème..
je dois rendre compatible avec netscape un code dont je ne suis
pas l'auteur, et comme je ne suis pas tres fortiche en JS,
c'est pas gagné !!!
En fait, il s'agit de pages avec des layers qui s'affichent
lorsque que l'on clique à certains endroits,
ça fonctionne avec IE, mais pas avec NN !!!
Voilà les fonctions dans le fichier.js::
function MM_showHideLayers() { //v3.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3)
if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style;
v=(v=='show')?'visible'
obj.visibility=v; }
}
function MM_findObj(n, d) { //v3.0
var p,i,x; if(!d) d=document;
if((p=n.indexOf("?" ))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++)
x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++)
x=MM_findObj(n,d.layers[i].document); return x;
}
et dans le fichier.htm ::
<a href="#" style="color:blue; text-decoration:none;"
onClick="MM_showHideLayers('Layer1','','show')">
Merci pour votre aide !!