Avatar billede timmer.dk Nybegynder
11. august 2002 - 14:19 Der er 25 kommentarer og
1 løsning

Jeg mangler en Preload funktion.

Hej Eksperter.
Jeg har set at man kan få sådan noget Preload noget, og betyder det ikke at "Preloaden" loader ens hjemmesides billeder inden man kommer ind på siden? - Det vil jeg gerne have, og vil høre om i kan hjælpe mig med det?

Jeg så det på denne her side:
http://www.shockrock.net/shock/

- På forhånd tak.
Avatar billede oz2kas Nybegynder
11. august 2002 - 14:30 #1
Avatar billede nicklasb Nybegynder
11. august 2002 - 14:31 #2
Jeg har svaret på det her http://www.eksperten.dk/spm/241301

Du må gerne nuppe den.. Hvis du har nogle problemer vil jeg da også gerne sætte den ind på din side for dig.. :)

/Nicklas B.
Avatar billede nicklasb Nybegynder
11. august 2002 - 14:31 #3
nåå.. piss.. Der var en der var hurtigere end mig.. hehe
Avatar billede nicklasb Nybegynder
11. august 2002 - 14:34 #4
For lige at gøre det lidt lettere har jeg lige skrevet svaret her igen.. (Altså det du skal bruge..)

<body bgcolor="#FFFFFF" text="#000000" text="#000000" link="#000000" vlink="#000000" alink="#000000" onLoad="document.all['load'].style.display = 'none'; document.all['side'].style.display = '';">

<span id="load" style="display: ;">

<BR><BR><BR>
<DIV STYLE="text-align:center">
<font face="Arial" size="2">

<center><b>
<BR>
Siden loades.&nbsp;&nbsp;Vent venligst..<BR>
Hvis det er første gang du åbner denne side kan det tage et lille stykke tid...
</b>
</center>
</font>
</div>
</span>


<span id="side" style="display: none">

<font face="Arial" size="2">

<center><b>
Her er siden med det store billede..<BR>
</b>

<IMG SRC="billedet.jpg" BORDER="0" WIDTH="472" HEIGHT="472" ALT="">
</center>
</font>

</span>
</body>
Avatar billede Slettet bruger
11. august 2002 - 14:35 #5
Hmm ærgeligt at han ik' kan se et eksempel på denne preloader mere..
Da jeg har skiftet side nu :)
Avatar billede timmer.dk Nybegynder
11. august 2002 - 14:37 #6
nicklasb >> Vil du ikke lave en index.htm fil ligesom http://www.shockrock.net/shock/ til mig? (Bare skriv der hvor jeg så skal skrive stien til de billeder som skal loades.)
Avatar billede timmer.dk Nybegynder
11. august 2002 - 14:46 #7
Eller er der en anden som kan og vil hjælpe mig lidt bedere?
Avatar billede nicklasb Nybegynder
11. august 2002 - 15:56 #8
Så vidt jeg kan se har han taget den fra en eller anden side hvor man kan finde sådanne ting.. (Der er forklaringer i filen, til hvordan den skal sættes op.. Så jeg tror ikke det er ham selv der har gjordt det..)

Men hvis du ikke selv kan, kan jeg da godt sakse lidt i den for dig..

Dette skal skrives i den head.. (Det er lige under titel-linien.. hehe):



<script language="JavaScript1.2">



startingColor = new Array() // <-- Må ikke ændres!

endingColor = new Array() // <-- Må ikke ændres!



// DU SKAL ÆNDRE FØLGENDE OPLYSNINGER:

var yourImages = new Array

("http://i.jubii.dk/general/l_trans.gif",

"http://i.jubii.dk/general/l_trans.gif",

"http://i.jubii.dk/general/l_trans.gif",

"http://i.jubii.dk/general/l_trans.gif",

"http://i.jubii.dk/general/l_trans.gif",

"http://i.jubii.dk/general/l_trans.gif") // Skriv her stigen til de billeder der skal loades..

var locationAfterPreload = "http://www.jubii.dk/" // Skriv her hvilken side den besøgende skal sendes til efter preloadingen..

var preloadbarWidth = 200 // Længden af preloader-baren. SKAL VÆRE HØJERE END ANTAL FILER DER PRELOADES..

var preloadbarHeight = 10 // Højden på preloader-baren

var backgroundOfGradient = "#cccccc" // Farven på de små firkanter FØR de vises som loaded..



// Farven på preloaderen mens den kører.. (Den farve den skal være når firkanten ER loaded - Du skal skrive første, tredje og femte tal i farvekoden..

startingColor[0] = "0"

startingColor[1] = "0"

startingColor[2] = "0"



// Farven loaderbaren skal blive når den er fulført.. Altså lige før sideskift. - Sk skal som før skrive tal nr 1, 3 og 5 fra farvekoden..

endingColor[0] = "f"

endingColor[1] = "0"

endingColor[2] = "0"



// FOR TROUBLESHOOTING:

var gap = 3 // Lej lidt med dette tal hvis du før en JAVASCRIPT-fejl!!! 2 er det mindste du kan bruge!!!





// DU MÅ IKKE ÆNDRE NOGET HERUNDER!!!



if (!document.all) location.replace(locationAfterPreload)

var a = 10, b = 11, c = 12, d = 13, e = 14, f=15, i, j, ones = new Array(), sixteens = new Array(), diff = new Array();

var convert = new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"), imgLen = yourImages.length;

var loaded = new Array(), preImages = new Array(), currCount = 0, pending = 0, h = 0, hilite = new Array(), cover = new Array();

var num = Math.floor(preloadbarWidth/gap);

for (i = 0; i < 3; i++) {

    startingColor[i] = startingColor[i].toLowerCase();

    endingColor[i] = endingColor[i].toLowerCase();

    startingColor[i] = eval(startingColor[i]);

    endingColor[i] = eval(endingColor[i]);

    diff[i] = (endingColor[i]-startingColor[i])/num;

    ones[i] = Math.floor(diff[i]);

    sixteens[i] = Math.round((diff[i] - ones[i])*15);

}

endingColor[0] = 0;

endingColor[1] = 0;

endingColor[2] = 0;

i = 0, j = 0;

while (i <= num) {

    hilite[i] = "#";

    while (j < 3) {

        hilite[i] += convert[startingColor[j]];

        hilite[i] += convert[endingColor[j]];

        startingColor[j] += ones[j];

        endingColor[j] += sixteens[j];

        if (endingColor[j] > 15) {

            endingColor[j] -= 15;

            startingColor[j]++;

        }

        j++;

    }

    j = 0;

    i++;

}

function loadImages() {

    for (i = 0; i < imgLen; i++) {

        preImages[i] = new Image();

        preImages[i].src = yourImages[i];

        loaded[i] = 0;

        cover[i] = Math.floor(num/imgLen)*(i+1)

    }

    cover[cover.length-1] += num%imgLen

    checkLoad();

}

function checkLoad() {

    if (pending) { changeto(); return }

    if (currCount == imgLen) { location.replace(locationAfterPreload); return }

    for (i = 0; i < imgLen; i++) {

        if (!loaded[i] && preImages[i].complete) {

            loaded[i] = 1; pending++; currCount++;

            checkLoad();

            return;

        }

    }

    setTimeout("checkLoad()",10);

}

function changeto() {

    if (h+1 > cover[currCount-1]) {

        var percent = Math.round(100/imgLen)*currCount;

        if (percent > 100) while (percent != 100) percent--;

        if (currCount == imgLen && percent < 100) percent = 100;

        defaultStatus = "Loaded " + currCount + " out of " + imgLen + " images [" + percent + "%].";

        pending--;

        checkLoad();

        return;

    }

    eval("document.all.cell" + (h+1) + ".style.backgroundColor = hilite[h]");;

    h++;

    setTimeout("changeto()",1);

}

defaultStatus = "Loaded 0 out of " + imgLen + " images [0%]."

// end hiding -->

</script>






Jeg har oversat forklaringerne i koden for dig.. Så det skulle være lige til at ændre.. Jeg har i dette eksempel brugt Jubii.dk, da jeg tænkte at de også kunne have brug for sådan en, så langsomme deres servere til tider er... hehe.. ;)

Du skal så sætte dette i din body.. (Sammen med alt det andet indhold.. I dette tilfælde, vel kun en tekst for der står at siden loades, lige som på den du selv skrev link til..



<script language="JavaScript1.2">

<!-- Dette er skjult

document.write('<table border="1" bordercolor="#001732" cellpadding="0" cellspacing="0" width="' + preloadbarWidth + '"><tr height="' + preloadbarHeight + '" bgcolor="' + backgroundOfGradient + '">');

for (i = 0; i < num; i++) {

    document.write('<td bordercolorlight="001732" bordercolordark="001732" width="' + gap + '" id="cell' + (i+1) + '"></td>');

}

document.write('</tr></table>');

document.write('<p>')

loadImages();

// Her slutter det sjulte.. -->

</script>





denne kode skal så bruges til at vise sælve preloaderen.. Du kan også ænre forver ovs. i den.. Det er intet problem..

Du kan så selvfølgelig også selv formatere koden uden om jazascriptet så den kommer til at se rigtig ud.. Altså med <center>, farver osv.. i stedet for at den sidder oppe i det enee hjørne som nu..

Hvis du ikke selv kan finde ud af at sætte den ind, så lav en fil hvor du har skrevet hvor den skal sættes ind..
Så skal jeg gører det for dig...

Lige en lille kommentar.. Jeg stinker selv til js.. Men hvis du ikke selv kan sakse en kode kan jeg da godt gører det for dig.. hehe..

Håber du kan bruge det..

/Nicklas B.
Avatar billede timmer.dk Nybegynder
11. august 2002 - 17:46 #10
nicklasb >> Jeg ser lige om jeg kan forstå og få det til at virke... - Mener I at jeg skal sætte min forside til at Preloade ALLE mine billeder filer på min hjemmeside, eller kun de standarde som logo osv?
Avatar billede nicklasb Nybegynder
11. august 2002 - 17:53 #11
Hmm.. Testfilerne skal ikke loades.. De loader hurtigere end du kan nå at se dem.. Jeg ville kun sætte den til at loade billederne..
Avatar billede Slettet bruger
11. august 2002 - 19:01 #12
Hey timmer du kan se hvordan den virker her http://westhi.h4f.dk
Jeg fik scriptet til at virke fint efter noget tid :)
Avatar billede Slettet bruger
11. august 2002 - 19:02 #13
Og nicklasb den er federe end den du gav mig for nogle uger siden :]
Avatar billede nicklasb Nybegynder
11. august 2002 - 19:23 #14
hehe.. Det er da godt.. Så er der da én der kan bruge det jeg laver.. Men nu er det altså ikke lige mig der har lavet den der.. :)
hehe.. Jeg har bare sakset lidt i den, så den virkede.. hehe..
Avatar billede nicklasb Nybegynder
11. august 2002 - 21:41 #15
timmer.dk-> Kan du få det til at virke??
Avatar billede timmer.dk Nybegynder
11. august 2002 - 22:16 #16
Jeg tester det i morgen.. Er for træt nu. (Kommer lige fra biffen)

Men I mener at jeg skal Preloade ALLE mine billede/grafik filer?
Avatar billede nicklasb Nybegynder
12. august 2002 - 07:02 #17
jo.. det ville jeg gøre.. Ellers kommer de jo først efter siden bliver vist.. Og så er der ikke nogen ide i at have preloaderen..

Men hvis billerne kun fylder et par kb tror jeg ikke du behøver.. Så er de der jo lige så hurtigt som teksten..
Avatar billede timmer.dk Nybegynder
12. august 2002 - 15:22 #18
Okay.. SÅ det er KUN store filer?
Avatar billede timmer.dk Nybegynder
12. august 2002 - 17:47 #19
SÅDAN! NU har jeg fået lavet min Preloader men.. De der streger som viser hvor langt den har loadet de kommer først når den er HELT færdig med at loade? - Se på http://www.timmer.dk

- Tak
Avatar billede nicklasb Nybegynder
12. august 2002 - 21:22 #20
hmm.. ved ikke hvad det kan være.. Har du evt. sat farverne på baggrunden og på loaderen til den samme??

Jeg kan slet ikke komme over de 21% på din side..
så jeg kan ikke rigtig se det.. og den når også at gå ned (altså browseren) før jeg kan nå at se kildekoden...

Ved ikke om det er en fejl på din server, da det også tager en hal time at hente den første side (den med billederne af de to andre) ned..

Men jeg vil da gerne hjælpe når det kommer til at virke.. :)
Avatar billede timmer.dk Nybegynder
13. august 2002 - 15:54 #21
Ava?.. Vil du ikke prøve at se i min kildekode? http://privat.timmer.dk...
Avatar billede nicklasb Nybegynder
13. august 2002 - 16:19 #22
jeg kender ikke grunden.. Men jeg kan slet ikke komme ind og se din kilde-kode.. :(
Avatar billede timmer.dk Nybegynder
13. august 2002 - 19:15 #23
Okay.. Synes du så jeg skal droppe min preload?
Avatar billede nicklasb Nybegynder
13. august 2002 - 19:48 #24
Jeg ved skam ikke helt hvad det kan være :(

Men jeg har en meget stor mistanke om at det er dine billeder.. enten er der ALT for mange eller også er de bare for store, så man når at få timeout inden.. Prøv fx kun med billederne til forsiden, og lav så en almindelig onload på forsiden med billederne til resten af siderne..

Syntes ikke du skal droppe det.. Nu har du åbenbart ønsket dig sådan en siden du har stillet spørgsmålet.. Og så syntes jeg også det er vigtigt at man får det man vil have :)

/Nicklas B.
Avatar billede timmer.dk Nybegynder
13. august 2002 - 22:00 #25
Hvad er det der onload for noget?
Avatar billede krusty_wafcs Nybegynder
14. oktober 2003 - 15:05 #26
timmer.dk- hvad er koden til den preload, du har lavet paa din side? (http://www.shockrock.net)
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
Kurser inden for grundlæggende programmering

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