Avatar billede topperware Nybegynder
13. april 2005 - 15:33 Der er 5 kommentarer og
1 løsning

problemer med onload funktioner

Jeg har et problem med en funktion jeg ikke kan få kaldt, jeg har fundet ud af at det har noget at gøre med onload, men kan kke finde ud af hvad jeg skal gøre.

i mit html dokument sker følgende:
<body onLoad="MM_preloadImages('grafik/1.gif','grafik/2.gif','grafik/3.gif')">.

Derudover har jeg (her fra Eksperten)følgende funktion til at skifte baggrundsfarven i tabelceller ved onmouseover & onmouseout:
window.onload = function() {
    var aTD = document.getElementsByTagName("TD");
    for (i=0,j=aTD.length; i<j; i++) {
        if (aTD[i].className=="menu") {
            aTD[i].onmouseover = function() {this.style.backgroundColor = "#C5BDB9"};
            aTD[i].onmouseout = function() {this.style.backgroundColor = "#ffffff"};
        }
    }
}

Men denne fungerer ikke samtidig med den 1. body onload, og jeg tror det er fordi de begge kalder onload; Tænkte at man måske kan omskrive den 2. funktion så den aktiveres via et navn (ikke bare function) og derefter skrive den ind i body onload...eller hvad og - ikke mindst hvordan?
Avatar billede skyggen2000 Nybegynder
13. april 2005 - 15:43 #1
der skulle ikke være noget galt med dine kalde, men du kunne flytte ddit funktionskald fra body onload ned i window.onload, så det sker efter det andet.

window.onload = function() {
    var aTD = document.getElementsByTagName("TD");
    for (i=0,j=aTD.length; i<j; i++) {
        if (aTD[i].className=="menu") {
            aTD[i].onmouseover = function() {this.style.backgroundColor = "#C5BDB9"};
            aTD[i].onmouseout = function() {this.style.backgroundColor = "#ffffff"};
        }
    }

    MM_preloadImages('grafik/1.gif','grafik/2.gif','grafik/3.gif');

}

er du sikker på de ikke bliver kaldt, og det ikke bare er din kode der fejler?
Avatar billede topperware Nybegynder
13. april 2005 - 15:53 #2
jeg er ikke sikker på hvad der faktisk bliver kaldt, men baggrundsfarvefunktionen fungerer helt fint andre steder, og når jeg fjerner body onload fra HTML dokumentet, så jeg tror ikke koden fejler noget.

Jeg prøver lige at flytte: MM_preloadImages('grafik/1.gif','grafik/2.gif','grafik/3.gif');
Avatar billede topperware Nybegynder
13. april 2005 - 16:14 #3
...og det hjalp
tak for hjælpen
Avatar billede topperware Nybegynder
13. april 2005 - 16:15 #4
du kan jo smide et svar og få dine point
Avatar billede skyggen2000 Nybegynder
13. april 2005 - 16:16 #5
det ser ud som om du allerede har gjort det:) Her kommer mit:)
Avatar billede roenving Novice
13. april 2005 - 16:53 #6
-- og det kan tilføjes, at du har helt ret i din formodning om, at man ikke kan sætte onload flere gange, så selvfølgelig er løsningen at fjerne onload på body-tagget og flytte de funktioner, du måtte have der ind i din javascript-ting !-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester