Newsgroup: it.comp.lang.javascript
Titolo: Problema con l'oggetto DIV su Netscape

Ciao a tutti ragazzi! ho un piccolo problemino.
Ho una funzione javascript su un file .js scritta cosi:
function visled(sPar)
{
 var isNav, isIE
 var LedName="led"+sPar
 if (parseInt(navigator.appVersion) >= 4)
 {
  if (navigator.appName == "Netscape")
  {
   isNav = true
  }
  else
  {
    isIE = true
  }
 }
if (isNav)
 {
 document.layers["LedName"].visibility='hidden';
  }
else
 {
 document.all[LedName].style.visibility='hidden';
  }
}
(LedName e' ugaule al nome del led piu' il parametro di un altra
funzione
che gestisce l'apertura e chisura dell'oggeto DIV legato a quel led)
che a sua volta richiama una pagina asp con all'interno dei DIV,
soltanto che questi Div(a differenza degli altri)hanno all' interno un
collegamento
a delle immagini(jpeg), che tramite due funzioni simili fra di loro,
come quella descritta sopra
<div id=led002
style=visibility:visible;position:...........................>
 <a href="neg001.asp?pic=layout.jpg&nome=Catello+d!Auria&ori=O"
onMouseOver="visdiv('002')"
onMouseOut="nasdiv('002')">
 <IMG name="spia" src="..\Img\ledblu.gif" align=center border=0
height=10 width=10></a>
</div>
permettono di far vedere o no l'iimagine all'interno!
quindi l'unica differenza e' che una volta la visibilita' e' impostata
a Hidden e una volta a Visible.
Su Explorer non ho nessun problema per la visualizzazione dell'immagine
collegata
all'interno del Div su onMouseOver o su onMouseOut mentre su Netscape
tutto cio' non avviene.
Grazie per l'aiuto!!

 Ho una funzione javascript su un file .js scritta cosi:
togli le virgolette:
    document.layers[LedName].visibility='hide';
inoltre, attento che per N4 devi usare "show" oppure "hide" per nascondere o
mostrare gli oggetti...
Bye.
Šarius.

 Đarius.

ciao,
forse il layer non è settato bene ,
(non si vede nell'esempio che hai scritto la position:...)
controlla nella funzione con un
alert(document.layers[LedName])
se il valore che ti ritorna è un object..
--
Bye
Ro<*¿*>berto

Ti ringrazio del suggerimento ma il layer e' settato bene la position
qui sulla ng non l'ho scritta ma e' absolute e poi ci sono le cordinate
left e top
in pixel.Per quanto riguarda l'alert ti ringrazio l'ho provato ma su
explorer mi da errore e  mi dice document.layers non e' un oggetto
mentre su Netscape niente non da segni di nessun tipo!Grazie per l'aiuto
anche se non so come risolvere il problema.


mentre su Netscape niente non da segni di nessun tipo!
significa che l'errore è prima dell'esecuzione dell'alert,
(naturalmente dovrebbe andare solo con netscape)..
prova un alert(document.layers) con Net,
magari come prima istruzione dello script
e guarda se ti viene restituito il numero
di layers che ti aspetti..


Grazie innanzitutto per i consigli che mi stai dando:
adesso ho provato quest'altro alert ma sinceramente scusami
non ho capito bene ancora come dovrebbe reagire Netscape!
Su explorer con questo alert mi appare la scritta "UNDEFINED"(non
definito)
e non ho capito il perche' se i div sono definiti anche sui fogli stile
mentre su Netscape ancora nessun segnale di nessun tipo.
by Fabrizio
"Ro<*¿*>berto" wrote:


ciao,
di nulla figurati,
document.layers
è valido solo in Netscape e punta all'array di
layers presenti nella pagina,
il mettere come prima istruzione nello script
alert(document.layers.length) ;
o alert(document.layers) (per l'oggetto)
ti fa ritornare il numero dei layers che netscape
vede nella pagina e se funziona ti dice che fino
a quel punto va tutto bene...
se non compare nessun alert invece il problema è
da trovarsi in altri posti , probabilmente nel
caricamento della pagina, dove quell'errore
blocca ogni ulteriore azione di script ..


tu intendi sulla pagina .js con tutte le funzioni o sulla pagina .asp
con tutti i div
che vengono richiamati?comunque non credo (ne sono certo) ma se vuoi ti
faccio vedere l'inizio di entrambe e cioe' dove per esempio la pagina
asp richiama la .js
grazie.
by fabry
"Ro<*¿*>berto" wrote:


ciao,
dicevo un <body onload="alert(document.layers.length)">
prova con netscape e guarda cosa viene ..


 Ro<*ż*>berto

ciao,
fai un poco di caos, asp non ci interessa,
(non lo usi per passare delle variabili a js)
concentrati sulla pagina html.
e metti esattamente quello nel body.


         Ro<*ż*>berto

ci siamo complicati la vita! :(
fai solo una pagina html non asp
(poi quando funziona la porti in asp)
..
e controlla partendo dal caricamento
della pagina (onload) dove è l'errore
con netscape...
al limite puoi usare questa funzione per avere
anche con netscape un report dell'errore:
function handleError() {
 var sErrMsg = arguments[0] + "\r\n" + arguments[1] + "\r\n" + arguments[2];
 window.alert(sErrMsg);
 return true;
}
onerror = handleError;
da mettere all'inizio della pagina dopo il tag
<HEAD>
