[Javascript] setTimeout probleem, plaatje vergroten

Pagina: 1
Acties:

  • hiostu
  • Registratie: Juli 2000
  • Laatst online: 05-05 13:13
Ik ben wat aan het experimenteren met javascript. Ik wil een plaatje langzaam vergroten wanneer ik er met de muis overheen ga. Ik krijg alleen een foutmelding wanneer het script draait. Wanneer ik met de muis over het plaatje ga, gaat de functie de eerste keer goed, alleen de aanroep setTimeout (2e keer dus) gaat niet goed.

code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function resizeImageUp2(img,count)
{
    if(img.tagName == "IMG")
    {
        if(count < 50)
        {
            count = count + 1;
            img.height = (img.height+1);
            test = setTimeout("resizeImageUp2(" + img + "," + count + ")", 50);
        }
        else
            clearTimeout(test);
    }
}


fout melding:
Error: 'object' is undefined.

[ Voor 9% gewijzigd door hiostu op 26-09-2004 15:16 ]


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

test eens in Mozilla/Firefox - die geeft over het algemeen duidelijkere foutmeldingen aan de hand waarvan je dan verder kan debuggen ;)

Intentionally left blank


  • pjotrk
  • Registratie: Mei 2004
  • Laatst online: 15-07-2025
De eerste keer krijgt de functie daarwerkelijk een img object binnen. Bij het aanroepen via de setTimeout een geef je eigenlijk een string mee aan de functie ipv een verwijzing naar het img object. Het meegeven van de img id is in dit geval makkelijker denk ik.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function resizeImageUp2(imgId,count)
{
    var img = document.getElementById(imgId);

    if(img.tagName == "IMG")
    {

        if(count < 50)
        {
            count = count + 1;
            img.height = (img.height+1);
            test = setTimeout("resizeImageUp2('" + imgId + "'," + count + ")", 50);
        }
        else
            clearTimeout(test);
    }
}

[img]"img.gif"[/img]

Verwijderd

Ik zou gewoon controleren of het type van de parameter wel een object is.

  • hiostu
  • Registratie: Juli 2000
  • Laatst online: 05-05 13:13
pjotrk schreef op 26 september 2004 @ 17:28:
De eerste keer krijgt de functie daarwerkelijk een img object binnen. Bij het aanroepen via de setTimeout een geef je eigenlijk een string mee aan de functie ipv een verwijzing naar het img object. Het meegeven van de img id is in dit geval makkelijker denk ik.

code:
1
....
Mmm dat lijkt me idd al een stap in de goede richting. Idd wel logisch. Het lijkt nu ook te werken (net stond hier andere tekst, maar ik was 2 '' vergeten).

[ Voor 23% gewijzigd door hiostu op 26-09-2004 17:50 ]