Avatar billede klipklipklap Nybegynder
11. august 2004 - 10:35 Der er 4 kommentarer

Rollover billeder?

Hej,

jeg bruger PT dreamweavers egen Rollover/preloader system til billeder i en menu, men når jeg browser rundt på siden er det ikke altid at disse "menubilleder" bliver loadet først.

Hvordan sikre man at de bliver loadet næsten inden siden bliver hentet/loadet?
Avatar billede klipklipklap Nybegynder
11. august 2004 - 10:36 #1
Dreamweaver bruger dette js:

<script language="JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>

<body style=margin:0px onLoad="MM_preloadImages('Ny%20mappe%20(2)/images/1b.jpg','Ny%20mappe%20(2)/images/2b.jpg','Ny%20mappe%20(2)/images/3b.jpg','Ny%20mappe%20(2)/images/4b.jpg','Ny%20mappe%20(2)/images/5b.jpg','Ny%20mappe%20(2)/images/6b.jpg','Ny%20mappe%20(2)/images/7b.jpg','Ny%20mappe%20(2)/images/8b.jpg','Ny%20mappe%20(2)/images/9b.jpg')">
<div align="center">
Avatar billede roenving Novice
11. august 2004 - 11:40 #2
De bliver faktisk preloadet (hrm, tjah, altså efter at resten af siden er loadet !-), men der skal ikke være ret mange, før de ikke kan nå at være på plads ...

Men der kan også være tale om, at f.eks. IE _altid_ checker for en ny udgave på serveren, hvis man har indstillet den til altid at kigge efter nye udgaver af sider, så med den indstilling er det uden betydning at preloade små menu-billeder !-)

-- og så kunne du måske få en anelse hurtigere performance, hvis du smider preload-kaldet op i scriptet og fjerner det fra onload:

...
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

MM_preloadImages('Ny%20mappe%20(2)/images/1b.jpg','Ny%20mappe%20(2)/images/2b.jpg','Ny%20mappe%20(2)/images/3b.jpg','Ny%20mappe%20(2)/images/4b.jpg','Ny%20mappe%20(2)/images/5b.jpg','Ny%20mappe%20(2)/images/6b.jpg','Ny%20mappe%20(2)/images/7b.jpg','Ny%20mappe%20(2)/images/8b.jpg','Ny%20mappe%20(2)/images/9b.jpg')
//-->
</script>

<body style="margin:0px">
<div align="center">
Avatar billede klipklipklap Nybegynder
18. august 2004 - 13:26 #3
Du må gerne lige smide et svar.
Avatar billede roenving Novice
18. august 2004 - 13:33 #4
Velbekomme '-)
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