Avatar billede kasseper Nybegynder
20. juni 2002 - 12:38 Der er 12 kommentarer og
1 løsning

pre-load af billeder, vrøvl og det virker ikke...!

Hej jeg har et meget lille billede som jeg skal vise i en liste, og der skal være en rollover på det.
Når jeg kører musen over, så henter den billedet fra serveren, men jeg vil sq ha den til at hente det en gang for alle, så et simplet preload script.....THX
Avatar billede kimiwan Nybegynder
20. juni 2002 - 12:45 #1
<script language="javascript">
<!--
var myimages=new Array()
function preloadimages(){
for (i=0;i<preloadimages.arguments.length;i++){
myimages[i]=new Image()
myimages[i].src=preloadimages.arguments[i]
}
}
preloadimages("a.jpg","b.jpg","c.jpg","d.jpg");
//--></script>
<body onload="preloadimages()">
Avatar billede kasseper Nybegynder
20. juni 2002 - 12:47 #2
Og hvordan bruger jeg så de preloadede billeder ?
Avatar billede kimiwan Nybegynder
20. juni 2002 - 12:52 #3
Kalder dem som du ellers ville gøre - a.jpg, b.jpg, c.jpg og d.jpg (etc.) i din javascriptkode.

Husk forresten at smide selve scriptet ind imellem dine <head></head> tags.
Avatar billede kasseper Nybegynder
20. juni 2002 - 12:54 #4
Jeg har nemli lavet

var test = new Image()
test.src = "a.jpg";

tricket, men når jeg i min onmouseover funktion siger :

function changeImg(element)
{
    element.src = test.src;
}

så henter den billedet fra serveren.....
hvorfor, og hvordan skal man så gører det ???????
Avatar billede kimiwan Nybegynder
20. juni 2002 - 12:55 #5
ah ok sorry..,..

så skal du sige element.src = myimages[0]; - hvis det er det første billed du preloader.. myimages[1]; hvis det er nummer to, osv.
Avatar billede kasseper Nybegynder
20. juni 2002 - 13:04 #6
Ok, så er det vist på tide at jeg smider lidt kode :
-------------------------------------------------------------------
var lock = new Image();
lock.src = '/icons/lock_closed_no_p.gif';

var lockHi = new Image();
lockHi.src = '/icons/lock_closed_hi_p.gif

function itemMouseOver(element)
{
  element.childNodes[1].childNodes[1].firstChild.src = lockHi;
}

function itemMouseOut(element)
{
  element.childNodes[1].childNodes[1].firstChild.src = lock;
}


<SPAN class='itemElement' onMouseOver='itemMouseOver(this)' onClick='itemClick(this)' onMouseOut='itemMouseOut(this)'>
<span class='itemText' style='width:182px'>
    test1<span style='position: relative; left: 5px; top: 1px;'><IMG src='/icons/lock_closed_no_p.gif'></span></span>
</SPAN><br>

<SPAN class='itemElement' onMouseOver='itemMouseOver(this)' onClick='itemClick(this)' onMouseOut='itemMouseOut(this)'>
<span class='itemText' style='width:182px'>
    test1<span style='position: relative; left: 5px; top: 1px;'><IMG src='/icons/lock_closed_no_p.gif'></span></span>
</SPAN><br>



-----------------------------------------------------------------

Det er altså på min span at der skal lave et roll på  mit image, men det er jo samme surdej, men det her virker ikke !!!!!
Avatar billede kasseper Nybegynder
20. juni 2002 - 13:06 #7
og der skulle ha stået :


function itemMouseOver(element)
{
  element.childNodes[0].childNodes[1].firstChild.src = lockHi;
}

function itemMouseOut(element)
{
  element.childNodes[0].childNodes[1].firstChild.src = lock;
}
Avatar billede kimiwan Nybegynder
20. juni 2002 - 13:06 #8
ok, og det virkede som du havde lavet det før? (med preloading også)
Avatar billede kasseper Nybegynder
20. juni 2002 - 13:09 #9
Altså det virker med mit roll med :

element.childNodes[0].childNodes[1].firstChild.src = lockHi.src;

Men så henter den billedet fra serberen...!
Avatar billede jakoba Nybegynder
20. juni 2002 - 14:33 #10
Det eneste formå locHi og lock har er at preloade. når de har gjort det er de helt overfæødige
istedetfor
    element.childNodes[0].childNodes[1].firstChild.src = lockHi.src;
skriver du
    element.childNodes[0].childNodes[1].firstChild.src = '/icons/lock_closed_no_p.gif';

så skulle der ikke være nogen reload.
hvis du observerer reload alligevel er det din webserver vi skal kikke på, hvormege cashetid den sætter i headeren til .gif billeder.

mvh JakobA
Avatar billede kasseper Nybegynder
21. juni 2002 - 09:34 #11
Og jeg observerer nemli reload af billederne, så hvis du har et hint til hvor jeg skal sætte det op , så ville jeg være glad.....
Det er en standard IIS 5.0
Avatar billede kasseper Nybegynder
25. september 2002 - 10:57 #12
....
Avatar billede kasseper Nybegynder
25. oktober 2002 - 13:19 #13
ingen reaktion....!
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