Plaatje pas laden als rest van de page geladen is.

Pagina: 1
Acties:

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Hey,

Ik wil dat m'n banner pas als laatste wordt geladen, dus pas als de rest van m'n pagina al geladen is,
ik had hier eerst de oplossing voor gevonden door hem in een iframe te zetten, maar dan klapt in sommige browser versies m'n menu ONDER het iframe door waardoor sommige bezoekers de helft van het menu niet zien (zie [topic=231335] )

Ik vraag me nu dus af of er nog een andere manier is om dit voor elkaar te krijgen, misschien met behulp van een stukje javascript ofzo?

  • Tim
  • Registratie: Mei 2000
  • Laatst online: 23-07 15:18

Tim

code:
1
2
3
4
5
6
7
<script>
function loadBanner() {
   banner.src="banner.jpg"
}
</script>
<body onload="loadBanner();">
<img name="banner">

Ja, ik weet het, het is een slecht stukje code, maar de bedoeling lijkt me duidelijk..

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
ok, als ik het goed begrijp wordt een onload dus pas als laatste uitgevoerd?

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

Op donderdag 20 september 2001 21:04 schreef Tangletje het volgende:
ok, als ik het goed begrijp wordt een onload dus pas als laatste uitgevoerd?
Jeps. :)

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Verwijderd

Op donderdag 20 september 2001 21:04 schreef Tangletje het volgende:
ok, als ik het goed begrijp wordt een onload dus pas als laatste uitgevoerd?
nopes, een onload wordt gewoon meej geload!!!

je kunt beter ff een set interval="xxxxmilisec"

dus ff een functie make en die in de onload rammele...
lijkt mij beter ;):Z

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 17:19

Pelle

🚴‍♂️

Op donderdag 20 september 2001 21:23 schreef The_Master_of_Oers het volgende:
nopes, een onload wordt gewoon meej geload!!!
Hoe kom je daar nou bij? Zet je een onLoad in je <body>, dan wordt de functie die je daarin hebt gezet pas uitgevoerd als alle HTML binnen is.
Dit is zo gedaan omdat veel functies bepaalde objecten in de site aanspreken, maar als die nog niet binnen zijn, kan JavaScript er ook niks mee doen en dus krijg je dan errors.

onLoad wordt echter niet pas uitgevoerd als alles (images, iframes etc) binnen is, dus wat dat betreft heb je wel gelijk.
je kunt beter ff een set interval="xxxxmilisec"
Set interval? Klinkt als iets ASP- of VB-achtigs. Gaat niet werken dus. SetTimout() werkt wel; je zou denk ik het beste even de totale grote in bytes van je site moeten berekenen en moeten kijken hoeveel seconden je daar met een 56k6-modem over doet.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<script language="JavaScript" type="text/javascript">
<!--
  function loadImage() {
    document.images['melp'].src = "blaat.gif";
  }
//-->
</script>

<body onLoad="SetTimeout('loadImage()',4000)">

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

</body>

Die 4000 hierboven is dus de tijd dat JS moet wachten voor hij die image in gaat laden. In dit geval 4000ms = 4sec.

Spacer.gif is een transparante gif, die je de grootte van je originele image (blaat.gif) meegeeft. Dit ivm met Netscape, die niet zo erg houdt van het 'on-the-fly' renderen van een pagina.

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 10-11-2025

OkkE

CSS influencer :+

Op donderdag 20 september 2001 21:23 schreef The_Master_of_Oers het volgende:

[..]

nopes, een onload wordt gewoon meej geload!!!

je kunt beter ff een set interval="xxxxmilisec"

dus ff een functie make en die in de onload rammele...
lijkt mij beter ;):Z
onLoad wordt pas gedaan als de rest geladen is!

En zo'n interval werkt helemaal niet. Als je dan kabel hebt staat het interval te hoog, dus moet je te lang wachten op de plaatjes. En heb je een 28k8 gaat hij de plaatjes ook vast laden, omdat het interval te kort is.

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01-2025
Op donderdag 20 september 2001 21:37 schreef Pelle het volgende:

[..]

Hoe kom je daar nou bij? Zet je een onLoad in je <body>, dan wordt de functie die je daarin hebt gezet pas uitgevoerd als alle HTML binnen is.
Dit is zo gedaan omdat veel functies bepaalde objecten in de site aanspreken, maar als die nog niet binnen zijn, kan JavaScript er ook niks mee doen en dus krijg je dan errors.

onLoad wordt echter niet pas uitgevoerd als alles (images, iframes etc) binnen is, dus wat dat betreft heb je wel gelijk.
[..]

Set interval? Klinkt als iets ASP- of VB-achtigs. Gaat niet werken dus. SetTimout() werkt wel; je zou denk ik het beste even de totale grote in bytes van je site moeten berekenen en moeten kijken hoeveel seconden je daar met een 56k6-modem over doet.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<script language="JavaScript" type="text/javascript">
<!--
  function loadImage() {
    document.images['melp'].src = "blaat.gif";
  }
//-->
</script>

<body onLoad="SetTimeout('loadImage()',4000)">

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

</body>

Die 4000 hierboven is dus de tijd dat JS moet wachten voor hij die image in gaat laden. In dit geval 4000ms = 4sec.

Spacer.gif is een transparante gif, die je de grootte van je originele image (blaat.gif) meegeeft. Dit ivm met Netscape, die niet zo erg houdt van het 'on-the-fly' renderen van een pagina.
Nette uitleg!

Maar zover mij bijstaat word onload echt pas na _alles_ uitgevoerd, maar dat weet ik natuurlijk weer niet zeker :)

(sorry, niet al te nuttig..)

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 17:19

Pelle

🚴‍♂️

Op donderdag 20 september 2001 21:44 schreef PlayR het volgende:
Maar zover mij bijstaat word onload echt pas na _alles_ uitgevoerd, maar dat weet ik natuurlijk weer niet zeker :)
* Pelle schaamt zich diep

Heb het even getest; onLoad wordt inderdaad uitgevoerd als alles binnen is, dus ook de images. De SetTimeout-functie is dus niet nodig en de <body>-tag komt er dus zo uit te zien:
code:
1
<body onLoad="loadImage()">

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Ok dan, bedankt jongens....

ik ga 't 's ff testen :)

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 22:18
Op donderdag 20 september 2001 21:37 schreef Pelle het volgende:
Set interval? Klinkt als iets ASP- of VB-achtigs. Gaat niet werken dus. SetTimout() werkt wel; je zou denk ik het beste even de totale grote in bytes van je site moeten berekenen en moeten kijken hoeveel seconden je daar met een 56k6-modem over doet.
ff in het kader van 'meer leren' :)

Window.setInterval() - periodically execute specified code

Synopsis
code:
1
window.setInterval(code, interval)


code:
1
window.setInterval(functie(), interval, args....)

bron: JavaScript: The definitive guide van O'reilly

(met andere woorden, heeft dus niets met ASP of VB te maken)

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Hmmz, wat is er mis met het volgende?
code:
1
2
3
4
5
6
 onload="loadBanner('upload/banner1.gif');"

  // banner laden
  function loadBanner() {
     banner.src="bannerimg"
  }

Ik ben niet echt goed in javascript, dus ik zal de variabele 'bannerimg' wel niet goed gebruiken in m'n functie?

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 22:18
Op vrijdag 21 september 2001 08:13 schreef Tangletje het volgende:
Hmmz, wat is er mis met het volgende?
code:
1
2
3
4
5
6
 onload="loadBanner('upload/banner1.gif');"

  // banner laden
  function loadBanner() {
     banner.src="bannerimg"
  }

Ik ben niet echt goed in javascript, dus ik zal de variabele 'bannerimg' wel niet goed gebruiken in m'n functie?
klopt :)

doe 't 's zo:
code:
1
2
3
4
5
6
 onload="loadBanner('upload/banner1.gif');"

  // banner laden
  function loadBanner( bannerimg ) {
     banner.src= bannerimg;
  }

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Hoera!

thnx :) het werkt perfectos....

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

Op vrijdag 21 september 2001 08:12 schreef Tampie2000 het volgende:

Window.setInterval() - periodically execute specified code

Synopsis
code:
1
2
window.setInterval(code, interval)
window.setInterval(functie(), interval, args....)

bron: JavaScript: The definitive guide van O'reilly
window. hoeft er niet voor, en je kan het ook het beste in een var stoppen, zodat je de interval ook nog kan stoppen:
code:
1
2
3
4
// starten
var timer = setInterval("functie()", interval);
// stoppen
clearInterval(timer);

Onload is idd een geniale optie, maar het slaat alleen op het document waar het instaat, dus in een frameset moet je als je onload dingen wil laten gebeuren in verschillende frames nog wat extra meuk inbouwen om er zeker van te zijn dat alle benodigde frames ook geload zijn Afbeeldingslocatie: http://www.xs4all.nl/~peterned/got/frown.gif

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 17:19

Pelle

🚴‍♂️

Op vrijdag 21 september 2001 08:12 schreef Tampie2000 het volgende:
ff in het kader van 'meer leren' :)
Das nooit verkeerd :)
Window.setInterval() - periodically execute specified code
Kan best handig zijn denk ik, maar wat heb je eraan om in dit geval om de x seconden die banner-source te veranderen? Met 1 keer goed zetten ben je er al namelijk...
(met andere woorden, heeft dus niets met ASP of VB te maken)
Nee, dat zie ik nu ook. Maar je had het niet aan elkaar geschreven en daarnaast kende ik die javascript-functie niet, dus vandaar :)

  • Ramon
  • Registratie: Juli 2000
  • Laatst online: 22:18
Op vrijdag 21 september 2001 09:14 schreef Clay het volgende:

[..]

window. hoeft er niet voor, en je kan het ook het beste in een var stoppen, zodat je de interval ook nog kan stoppen:
zo stond het in m'n JavaScript boek... :)
Kan best handig zijn denk ik, maar wat heb je eraan om in dit geval om de x seconden die banner-source te veranderen? Met 1 keer goed zetten ben je er al namelijk...
je kan bijvoorbeeld een countertje maken, zoals dit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<script type=text/javascript>
<!--

function trackTime()
{
  TTime = new Date();
  CurHour = TTime.getHours();
  CurMin  = TTime.getMinutes();
  CurSec  = TTime.getSeconds();
  Millis  = TTime.getMilliseconds();
  if( CurHour < 10 ) { CurHour = "0" + CurHour; }
  if( CurMin < 10 ) { CurMin = "0" + CurMin; }
  if( CurSec < 10 ) { CurSec = "0" + CurSec; }
  if( Millis < 100 ) { Millis = "0" + Millis; }
  if( Millis < 10 ) { Millis = "00" + Millis; }
  TheTime = " " + CurHour + ":" + CurMin + ":" + CurSec + "." + Millis + " ";
  document.examplef.time_box.value = TheTime;
}
setInterval('trackTime()',10);

en dan de tijd in een tekstbox zetten
Nee, dat zie ik nu ook. Maar je had het niet aan elkaar geschreven en daarnaast kende ik die javascript-functie niet, dus vandaar :)
ik was niet diegene die over setInterval begon.... :)

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/

Pagina: 1