Toon posts:

[Javascript] Probleem met resize images.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo allemaal,

ik heb n probleem met het resize met n image.
Ik heb n pagina gemaakt waar je tussen verschillende plaatjes kunt scrollen met een vorige/volgende knop.

Ik gebruik onderstaande code.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    document.images['Pictures'].src = year[YearCounter][3][PictureCounter][0];
// Bovenstaande regel wordt op 1 of andere manier niet meteen verwerkt?!
    var width = document.images['Pictures'].width;
    var height = document.images['Pictures'].height;
    if (screen.width <= 800)
    {
      if (width > 390)
        document.images['Pictures'].width = 390;
    }else
    {
      if (width > 490)
        document.images['Pictures'].width = 490;
    }
    if (screen.width <= 800)
    {
      if (height > 230)
        document.images['Pictures'].height = 230;
    }else
    {
      if (height > 330)
        document.images['Pictures'].height = 330;
    }


Mijn probleem is als volgt.
Ik wil de images een maximale hoogte/breedte geven. Zodat er niet te veel gescrolled hoeft te worden.

De bovenstaande code werkt opzich wel, maar hij pakt de hoogte/breedt van het vorige plaatje.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

je kan de hoogte en breedte van het plaatje pas uitlezen op het moment dat het volledig ingeladen is; het resizen moet je dus uitstellen.
Het meest eenvoudig is een functie koppelen aan het onload event van het image object. Nog mooier is om alvast het volgende plaatje te preloaden, zodat je hem meteen al op de juiste grootte kan laten zien.

Intentionally left blank


Verwijderd

Topicstarter
Dus je stelt voor om eerst alle plaatjes te preloaden,
en ze dan meteen op de goede grootte te laten zien?

Of aan het begin van het script het bewuste plaatje preloaden?
Hoe weet je dan of het goede plaatje is geladen?

  • André
  • Registratie: Maart 2002
  • Laatst online: 08:38

André

Analytics dude

Ongeveer zoiets:
code:
1
document.images['Pictures'].onload = resize()

Dus na de onload pas resizen.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Verwijderd schreef op 30 december 2002 @ 13:32:
Dus je stelt voor om eerst alle plaatjes te preloaden,
en ze dan meteen op de goede grootte te laten zien?

Of aan het begin van het script het bewuste plaatje preloaden?
Hoe weet je dan of het goede plaatje is geladen?
Als je de onload oplossing (zie voor code reply van Yogho) gebruikt, en gelijktijdig ook alvast het volgende plaatje preload dan ben je denk ik al een heel eind.
Stel dat de volgende al gepreload is - dan staat die dus al in de cache van je bezoeker. De bezoeker drukt nu op 'next' en de onload (en dus de resize) wordt dan praktisch meteen al getriggered :)

Intentionally left blank