Toon posts:

[javascript] preload backgroung-img

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een menutje gemaakt waarvan de achtergrond van plaatje veranderd als je er met je muis overheen gaat. Op zich werkt dit perfect alleen nu wil ik de achtergrond plaatjes van te voren preloaden:

Ik heb in de head staan
code:
1
2
3
4
5
6
function preload(){
  button = new Image;   
  button.src = "images/button1.gif";
  buttonover = new Image;   
  buttonover.src = "images/button2.gif";
}


De preload functie wordt aangeroepen in de body.


In de onmouseover van de TR heb ik momenteel het volgende staan, en dat werkt de onmouseout heb ik even weg gelaten want het principe is het zelfde.
code:
1
2
onmouseover="document.getElementById('1').style.background='URL(./images/button1.gif)';"
// De TR heeft ID 1


maar nu moet "URL(./images/button1.gif)" eigenlijk vervangen worden door de preload image? maar hoe doe ik dat? ik heb al van alles geprobeerd behalve het juiste.

het moet dus zoiets worden
code:
1
onmouseover="document.getElementById('1').style.background=button.src;"'

Verwijderd

.style.backgroundImage = "url('"+button.src+"');"

(je hebt het zelf ook al bijna staan overigens)

[ Voor 49% gewijzigd door Verwijderd op 04-08-2004 14:41 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Ik denk niet dat mophor zijn manier werkt, op die manier vraag je niet de gechachede image op maar alleen maar de url.

Ik heb even lopen klooien maar volgens mij moet je gewoon vertrouwen op de caching van je browser.

code:
1
onmouseover="this.style.backgroundImage = 'url(' + buttonover.src + ')';"

Deze methode werkt idd :)

[ Voor 30% gewijzigd door André op 04-08-2004 14:56 ]


Verwijderd

wat is daar anders aan als mijn manier?

Overigens vertrouwen op de backgroundimage caching van ie hoef je al niet te doen als ik me goed herinner, die laadt toch altijd alle backgroundplaatjes opnieuw?

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Verwijderd schreef op 04 augustus 2004 @ 14:54:
wat is daar anders aan als mijn manier?
Ik heb al gecorrigeerd :)
Overigens vertrouwen op de backgroundimage caching van ie hoef je al niet te doen als ik me goed herinner, die laadt toch altijd alle backgroundplaatjes opnieuw?
Alleen bij bewegende layers dacht ik :?

  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

Dat is een leuk trucje wat veel in spelletjes gebruikt word. Vooral pumpkins van crisp maakte hier dankbaar gebruik van :)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 13:28

crisp

Devver

Pixelated

punt is dat IE bij een wisseling van een achtergrond-image toch altijd het plaatje weer opvraagt van de server, preloaded of niet. Zelfs het aanpassen van andere background-properties dmv scripting heeft dit effect in IE...
De oplossing mbv selectors in css heeft dit probleem gelukkig niet, dus voor mouse-overs is dat wel bruikbaar - voor pumpkins niet (ik clip een gewone image) ;)

[ Voor 55% gewijzigd door crisp op 04-08-2004 21:02 ]

Intentionally left blank


  • pthn
  • Registratie: Februari 2003
  • Laatst online: 31-07-2023
Ik heb dit ook wel eens bij de hand gehad, dat je verbinding eigenlijk te snel is om te zien of een afbeelding nu wel of niet gepre-load wordt.
Na lang zoeken kwam ik op Sloppy , een Java programmaatje waarmee je je snelheid kunt verlagen.
Pagina: 1