Avatar billede gadebarnet Nybegynder
29. marts 2006 - 14:34 Der er 9 kommentarer

preload af billeder

Jeg har fundet denne her.
<script language="javascript">

var preload = new Array("pic1.gif","pic2.gif","pic3.gif");
function doPreload() {
    var tx;
    for (var i=0; preload.length>i; i++ ) {
        tx = preload[i];
        preload[i] = new Image();
        preload[i].src = tx;
    };
};
doPreload();
</script>

Men det virker ikke... Den preloader dem ikke... Hvorfor ?


Kan det være fordi min sti til billeder er en URL ???
Avatar billede olebole Juniormester
29. marts 2006 - 14:51 #1
<ole>

Yups  ;o)
Du kan f.eks. skrive:

<script language="javascript">
var path = "http://www.domain.dk/sti/til/billeder/";
var preload = new Array("pic1.gif","pic2.gif","pic3.gif");
function doPreload() {
    var tx;
    for (var i=0; preload.length>i; i++ ) {
        tx = path + preload[i];
        preload[i] = new Image();
        preload[i].src = tx;
    };
};
doPreload();
</script>

/mvh
</bole>
Avatar billede olebole Juniormester
29. marts 2006 - 14:53 #2
- og så lige et tidssvarende script-tag:
    <script type="text/javascript">

;o)
Avatar billede gadebarnet Nybegynder
29. marts 2006 - 14:53 #3
Det har jeg prøvet...

OG det vil den heller ik...

Men når jeg så bruger de billeder skal jeg så bruge java funktionen eller hvordan ?
Avatar billede olebole Juniormester
29. marts 2006 - 14:57 #4
Jo, det virker nu fint  :)
Det kan f.eks. gøres sådan:

<script type="text/JavaScript">
var path = "http://www.domain.dk/sti/til/billeder/";
var preload = new Array("pic1.gif","pic2.gif","pic3.gif");
function doPreload() {
    var tx;
    for (var i=0; preload.length>i; i++ ) {
        tx = path + preload[i];
        preload[i] = new Image();
        preload[i].src = tx;
    };
};
doPreload();

function swap(oImg, imInx) {
    oImg.src = preload[imInx].src
}
</script>

<img src="tja.gif" onmouseover="swap(this, 1)">
Avatar billede gadebarnet Nybegynder
29. marts 2006 - 15:01 #5
Hvad hvis jeg skal bruge det til det her:

style="height: 40px; font-family: arial; background: url('/_images/forms/submit/large/normal/submit_center.gif'); font-weight: bold; color: #6b760d; font-size: 14;"

Altså som baggrund billede
Avatar billede olebole Juniormester
29. marts 2006 - 15:04 #6
IE vil normalt checke for, om der er en ny version af billedet på serveren, når det skal indsættes som baggrundsbillede. I FF burde der ikke være problemer.

Iøvrigt kan du også gøre det på en anden måde, end den jeg viste før (ingen af metoderne er dog bedre end den anden):

<script type="text/JavaScript">
var path = "http://www.domain.dk/sti/til/billeder/";
var preload = new Array("pic1.gif","pic2.gif","pic3.gif");
function doPreload() {
    var tx;
    for (var i=0; preload.length>i; i++ ) {
        tx = path + preload[i];
        preload[i] = new Image();
        preload[i].src = tx;
    };
};
doPreload();

function swap(oImg, imSrc) {
    oImg.src = path + imSrc;
}
</script>

<img src="tja.gif" onmouseover="swap(this, 'pic2.gif')">
Avatar billede olebole Juniormester
29. marts 2006 - 15:06 #7
- og som baggrundsbillede:

<script type="text/JavaScript">
var path = "http://www.domain.dk/sti/til/billeder/";
var preload = new Array("pic1.gif","pic2.gif","pic3.gif");
function doPreload() {
    var tx;
    for (var i=0; preload.length>i; i++ ) {
        tx = path + preload[i];
        preload[i] = new Image();
        preload[i].src = tx;
    };
};
doPreload();

function swap(oDiv, imSrc) {
    oDiv.style.backgroundImage = "url(" + path + imSrc + ")";
}
</script>

<div onmouseover="swap(this, 'pic2.gif')">Tekst</div>
Avatar billede gadebarnet Nybegynder
29. marts 2006 - 15:26 #8
Der er altså ingen mulighed for at tvinge en preloader igennem til IE brugere ?
Avatar billede olebole Juniormester
29. marts 2006 - 15:44 #9
- ikke umiddelbart. Men afhængig af, hvordan det skal bruges, kunne man måske gøre noget andet:

<div style="position:relative;width:100px;height:50px" onmouseover="swap(this, 'pic2.gif')">
    <div style="position:absolute;left:0;top:0;z-index:1">Tekst</div>
    <img src="tja.gif" style="position:absolute;left:0;top:0;z-index:0">
</div>

- og så omskrive swap-funktionen til:

function swap(oDiv, imSrc) {
    oDiv.getElementsByTagName("img")[0].src = path + imSrc;
}

- men det er ikke til at vide, om det kan bruges, når jeg ikke ved mere om, hvordan det præcist skal bruges  :)

Jeg er på vej ud af døren, men kommer måske forbi imorgen ... har ikke så meget tid i øjeblikket  :o|
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