PDA

View Full Version : Adattare javascript per FireFox


Swalke
27-08-2005, 09:17
Ciao tutti!
Ho un javascript che crea un menù in stile explora risorse.

Attualmente funziona su Explorer e Opera.

Volevo sapere se, postando il codice, qualcuno mi sa dire se è possibile farlo girare anche sotto FireFox... ...e che modifiche devo fare.

Il codice non è molto lungo...

Resto in attesa!

Grazie!

anonimizzato
27-08-2005, 09:40
beh tu comincia a postare il codice :p

Swalke
27-08-2005, 09:57
OK!

La pagina html richiama la funzione "disegna" e nella pagina includo i 2 file js seguenti:

PRIMO FILE:
var nascosto=new Array();
for (c=1;c<=i;c++){
if(elemento[c].livello==1) nascosto[c]=false;
else nascosto[c]=true;
}

function disegna(){
var index=0;
var code='';
code += '<TABLE BORDER=0><TR><TD NOWRAP>';
for(c=2;c<=i;c++){
index=index+1;
if(!nascosto[c]){
var app=elemento[c];
for(k=2;k<=app.livello;k++) code += '<IMG SRC="i.gif" ALIGN="left" BORDER=0>';
if(app.foglia){
if(c!=i && app.livello==elemento[c+1].livello) code += '<IMG SRC="t.gif" ALIGN="left" BORDER=0>';
else code += '<IMG SRC="l.gif" ALIGN="left" BORDER=0>';
if(app.icona=='') app.icona='html.jpg';
code += '<A HREF="'+app.link+'" TARGET="_parent" onmouseover="setObj(des['+index+'],\'override\',400,110)" onmouseout="clearTimeout(openTimer);stopIt()">';
code += '<IMG SRC="'+app.icona+'" ALIGN="left" BORDER=0>&nbsp;';
code +='<font style="FONT-SIZE: 10px; ">'+app.nome+'</font></A><BR>';
}
else{
if(nascosto[c+1]){
code += '<A HREF="javascript: apri('+c+')"><IMG SRC="cartella1.jpg" ALIGN="left" BORDER=0></A>&nbsp;';
code += '<A HREF="javascript: apri('+c+')"><b><font style="FONT-SIZE: 10px; ">'+app.nome+'</font></b></A><BR>';
}
else{
code += '<A HREF="javascript: chiudi('+c+')"><IMG SRC="cartella2.jpg" ALIGN="left" BORDER=0></A>&nbsp;';
code += '<A HREF="javascript: chiudi('+c+')"><b><font style="FONT-SIZE: 10px;">'+app.nome+'</font></b></A><BR>';
}
}
}
}
code += '</TD></TR></TABLE>';
if(document.all) esplora.innerHTML=code;
else{
document.layers.esplora_nn.document.open();
document.layers.esplora_nn.document.write(code);
document.layers.esplora_nn.document.close();
}
}
function apri(n){
var c=n+1;
while(elemento[c].livello>elemento[n].livello) c++;
for(k=n+1;k<c;k++) if(elemento[k].livello==elemento[n].livello+1) nascosto[k]=false;
disegna();
}

function chiudi(n){
var c=n+1;
while(elemento[c].livello>elemento[n].livello) c++;
for(k=n+1;k<c;k++) nascosto[k]=true;
disegna();
}

SECONDO FILE:
function voce(livello,nome,link,icona,foglia) {
this.livello = livello;
this.nome = nome;
this.link = link;
this.icona = icona;
this.foglia = foglia;
}
var elemento = new Array()
var i = 0;
elemento[++i] = new voce(0,'Home Page','home.htm','',true);
elemento[++i] = new voce(1,'Acquisti on-line','','',false);
elemento[++i] = new voce(2,'CHL','http://www.chl.it','', true);
elemento[++i] = new voce(2,'Ebay','http://www.ebay.it','',true);
elemento[++i] = new voce(1,'Cellulari','','',false);
elemento[++i] = new voce(2,'CDcovers','http://www.cdcovers.cc/mobile.php','', true);
elemento[++i] = new voce(1,'Cultura','','',false);
elemento[++i] = new voce(2,'BeppeGrillo','http://www.beppegrillo.it','', true);
elemento[++i] = new voce(2,'Wikipedia','http://it.wikipedia.org','', true);
elemento[++i] = new voce(1,'Giochi di ruolo e da tavolo','','',false);
elemento[++i] = new voce(2,'Confrontation','http://www.confrontation.fr','', true);
elemento[++i] = new voce(2,'Wargamesfoundry','http://www.wargamesfoundry.com/main.asp','', true);
elemento[++i] = new voce(1,'Manga & cartoni','','', false);
elemento[++i] = new voce(2,'Anigate','http://forum.anigate.net','', true);
elemento[++i] = new voce(0,'','','mail.jpg',true);

Fammi sapere!