ďťż

[JS] niedziałąjący skrypt zmieniający obrazek onmouseover, onmouseout, onclick

       

Podstrony


telcocafe

Chciałem na stronie zrobić coś takiego, że jest obrazek, który jest linkiem do jakiejś strony. Po najechaniu kursorem na obrazek zmienia się na inny, a po kliknięciu na jeszcze inny. Problem w tym, że w Operze po najechaniu/kliknięciu na obrazek jego dolna połowa robi się przezroczysta, a w IE nic się nie dzieje. Można to przetestować na http://yojo2.ovh.org/index2.php (przyciski Strona Główna i Mój Komputer)

Od strony technicznej wygląda to tak - w pliku index.html:<script type="Javascript" src="menu.js"></script> (...) <a href="index.php?id=1" onmouseout="1('strglo');" onmouseover="2('strglo');" onclick="3('strglo');"><img src="templates/new/buttons/strglo1.PNG" border="0" alt="Przenosi na stronę głowną witryny." width="82" height="19" name="strglo" /></a><a href="index.php?id=3" onmouseout="1('mojko');" onmouseover="2('mojko');" onclick="3('mojko');"><img src="templates/new/buttons/mojko1.PNG" border="0" alt="Tu możesz zobaczyć moją aktualną konfigurację sprzętową komputera." width="77" height="19" name="mojko" /></a>(...)W pliku menu.js:function 1(img) { document.images[img].src="templates/new/buttons/" + img+"1.PNG"; } function 2(img) { document.images[img].src="templates/new/buttons/" + img+"2.PNG"; } function 3(img) { document.images[img].src="templates/new/buttons/" + img+"3.PNG"; }(nazwy obrazków to strglo1.PNG, strglo2.PNG, strglo3.PNG; mojko1.PNG, mojko2.PNG, mojko3.PNG; itd.)

Możecie coś poradzić, aby skrypt działał jak należy?
Użytkownik yojo2 edytował ten post 03 styczeń 2007, 19:56


Jeszcze nie sprawdzałem - ale nigdy by mi nie przyszło do głowy, żeby nazywać funkcję samą cyfrą - zawsze zakładałem, że w JS nazwa funkcji też musi zaczynać się od litery (A..Z, a...z) lub od znaku: _. I być może to się nie podoba niektórym przeglądarkom...

A drugie - to nie jestem pewien czy we wszystkich przeglądarkach działa dostęp do obiektów w taki sposób:
document.images[img].src
i pewnie dlatego w różnych skryptach jest coś takiego:
if (document.getElementById) { itm = document.getElementById(id); } else if (document.all) { itm = document.all[id]; } else if (document.layers) { itm = document.layers[id]; } if (!itm) { // do nothing } else { itm.src = "nowa wartosc atrybutu src"; }

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.