HighDots Forums  

funzione changeImages solo su IE

Javascript (Italian) Il linguaggio JavaScript (it.comp.lang.javascript)


Discuss funzione changeImages solo su IE in the Javascript (Italian) forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
AM Liapunov
 
Posts: n/a

Default funzione changeImages solo su IE - 09-20-2006 , 07:29 AM






Salve a tutti,
ho il seguente codice html:

<a onmouseover="su('8')" href="pagina.html">
<img src="immagine.jpg">
</a>

L'obiettivo che voglio ottenere è quello di cambiare immagine al
passaggio del mouse.
Il problema è che il tutto funziona con IE ma non con firefox.
Suppongo che il problema risieda nella funzione findElement e nel
diverso modo con cui vengono gestiti gli oggetti in IE e in firefox.
Qualcuno sa darmi un consiglio su dove cominciare a dare un'occhiata ?

Grazie


---Cut

userAgent = window.navigator.userAgent;
browserVers = parseInt(userAgent.charAt(userAgent.indexOf("/")+1),10);
mustInitImg = true;

function su(me){
if (me!=attuale){
changeImages('nome'+me,'../images/rollmenu_ita/'+me+'b.jpg');
return true;
}
}

function changeImages() {
d = document;
if (d.images) {
var img;
for (var i=0; i<changeImages.arguments.length; i+=2) {
img = null;
if (d.layers) {
img=findElement(changeImages.arguments[i],0);
} else {
img = d.images[changeImages.arguments[i]];
}
if (img) {
img.src = changeImages.arguments[i+1];
}
}
}
}

function findElement(n,ly) {
d = document;
if (browserVers < 4) return d[n];
f ((browserVers >= 6) && (d.getElementById)) {
initImgID; return(d.getElementById(n))};
var cd = ly ? ly.document : d; var elem = cd[n];
if (!elem) {
for (var i=0;i<cd.layers.length;i++) {
elem = findElement(n,cd.layers[i]); if (elem) return elem;
}
}
return elem;
}

Reply With Quote
  #2  
Old   
Cristiano Larghi
 
Posts: n/a

Default Re: funzione changeImages solo su IE - 09-20-2006 , 07:40 AM






In data Wed, 20 Sep 2006 13:29:08 +0200, AM Liapunov ha scritto:

Quote:
Il problema è che il tutto funziona con IE ma non con firefox.
perfetto: firefox ha la sua console che ti indica esattamente in che riga e
colonna si trova l'errore...cosa dice?

--
"Affacciati affacciati benedici, guardaci
guardaci...guardaci!
Tanto sono quasi duemila anni che stai a guardare!"
E.B.


Reply With Quote
  #3  
Old   
AM Liapunov
 
Posts: n/a

Default Re: funzione changeImages solo su IE - 09-20-2006 , 07:59 AM



Cristiano Larghi wrote:
Quote:
In data Wed, 20 Sep 2006 13:29:08 +0200, AM Liapunov ha scritto:

Il problema è che il tutto funziona con IE ma non con firefox.
perfetto: firefox ha la sua console che ti indica esattamente in che riga e
colonna si trova l'errore...cosa dice?
il bello è che la console javascript di firefox non dice proprio nulla !
Nè sotto avvisi, nè sotto errori insomma da nessuna parte...


Reply With Quote
  #4  
Old   
Cristiano Larghi
 
Posts: n/a

Default Re: funzione changeImages solo su IE - 09-20-2006 , 08:10 AM



In data Wed, 20 Sep 2006 13:59:59 +0200, AM Liapunov ha scritto:

Quote:
il bello è che la console javascript di firefox non dice proprio nulla !
un po' di alert qua e là per vedere dove arriva?

function changeImages() {
d = document;
if (d.images) { //qua firefox ok
var img;
for (var i=0; i<changeImages.arguments.length; i+=2) {
img = null;
if (d.layers) { //qua firefox non passa, ergo la findElement non viene
eseguita da firefox (solo da netscape4)
img=findElement(changeImages.arguments[i],0);
} else { //firefox arriva qua
img = d.images[changeImages.arguments[i]];
}
if (img) {
img.src = changeImages.arguments[i+1];
}
}
}
}
boh, così a naso io non vedo errori.

--
"Ho smesso di fumare.
Vivrò una settimana di più.
E in quella settimana pioverà a dirotto"
W.A.


Reply With Quote
  #5  
Old   
AM Liapunov
 
Posts: n/a

Default Re: funzione changeImages solo su IE - 09-20-2006 , 08:24 AM



Cristiano Larghi wrote:
Quote:
In data Wed, 20 Sep 2006 13:59:59 +0200, AM Liapunov ha scritto:

il bello è che la console javascript di firefox non dice proprio nulla !
un po' di alert qua e là per vedere dove arriva?
mmm c'è decisamente qualcosa che non va: ho aggiunto un alert nella
funzione su e su IE funziona, su Firefox proprio per nulla.

Sembra che firefox non ci provi nemmeno a lanciare la funzione javascript !

E' possibile che ci sia qualcosa che non va nel modo con cui ho incluso
lo script ?

Ecco qui:



<csscriptdict import>
<script type="text/javascript"
src="../GeneratedItems/CSScriptLib.js"></script>
</csscriptdict>
<csactiondict>
<script type="text/javascript">
var attuale =(0);
function su(me)
{
alert('ciao'); // funzione su IE su firefox no !!
if (me!=attuale){
changeImages('nome'+me,'../images/rollmenu_ita/'+me+'b.jpg');
return true
}}

function giu(me)
{
if (me!=attuale){
changeImages('nome'+me,'../images/rollmenu_ita/'+me+'a.jpg');
return true
}}

function cli(me)
{
if (me!=attuale){
changeImages('nome'+attuale,'../images/rollmenu_ita/'+attuale+'a.jpg');
changeImages('nome'+me,'../images/rollmenu_ita/'+me+'c.jpg');
attuale =(me);
return true
}}


</script>
</csactiondict>


Reply With Quote
  #6  
Old   
Cristiano Larghi
 
Posts: n/a

Default Re: funzione changeImages solo su IE - 09-20-2006 , 08:37 AM



In data Wed, 20 Sep 2006 14:24:10 +0200, AM Liapunov ha scritto:

Quote:
mmm c'è decisamente qualcosa che non va: ho aggiunto un alert nella
funzione su e su IE funziona, su Firefox proprio per nulla.
:-O
metti l'alert al di fuori della function nel file incluso, così vedi se te
lo include

Quote:
csscriptdict import
eh? questo non è html ...
<csactiondict
idem

--
"Ho smesso di fumare.
Vivrò una settimana di più.
E in quella settimana pioverà a dirotto"
W.A.


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.