Avatar billede manon Nybegynder
19. juli 2003 - 05:58 Der er 25 kommentarer og
1 løsning

Preloader med processbar uden redirect? Hvor kan de findes?

Hej E

Jeg roder lidt rundt med nogle preload af billeder - og jeg kan ikke finde noget der rigtig virker.

Har i nogle gode scripts liggende?

Det jeg leder efter er noget i retning at processbaren kommer først mens billederne loades og så vises hele siden.

Jeg fandt disse muligheder (http://www.dynamicdrive.com/dynamicindex4/preloadimage.htm) og (http://www.dynamicdrive.com/dynamicindex4/preloadimage2.htm) men igen, de loader først efter siden er hentet - så er der jo ikke meget fidus i det *s*

Hvis i tilfældigt har et gammelt JS eller dhtml script liggende, ville jeg blive glad for hjælpen.

På forhånd tak.
Vh\Michael
Avatar billede manon Nybegynder
19. juli 2003 - 06:02 #1
PS: jeg ved at overstående er dhtml eksembler, men de skrives i js, så mon ikek de har relevanthed her i denne kategori, eller beklager jeg den unødige spam ;-)
Avatar billede roenving Novice
19. juli 2003 - 06:12 #2
Har du gjort det :-)
Remember, save it as a SEPARATE HTML file. This is the page that will preload your selected images.
Avatar billede roenving Novice
19. juli 2003 - 06:13 #3
dhtml = dynamisk html = html udvidet med javascript-genereret dynamik evt. med tilknyttede css-lag ...
Avatar billede manon Nybegynder
19. juli 2003 - 06:20 #4
roenving >>
yeps - alt er fulgt og korrekt sat op.
Avatar billede manon Nybegynder
19. juli 2003 - 06:27 #5
jeg tor måske jeg har fundet en der kan bruges - der skal lige kigges på det ... Hmmm ... http://www.phoenixv.dk/scripts/scr02.html
Avatar billede manon Nybegynder
19. juli 2003 - 06:45 #6
Hmmm ... kan det været at det er fordi jeg har 1-12 images jeg skal preloade siden at de 2 scripts ikek virker?
jeg prøvede lige med den origianle kode fra http://www.phoenixv.dk/scripts/scr02.html og der virkede den heller ikke indtil jeg fjerne alle billeder med undtagelse af 6 stk. - underligt.
Avatar billede Slettet bruger
19. juli 2003 - 10:22 #7
manon>> Kan du ikke vise et link? Jeg kan ikke forstå, at mit script ikke skulle virke med flere billeder.
Avatar billede TRoXa Novice
19. juli 2003 - 11:23 #8
Jeg har et script .. men altså .. det er med redirect .. hvilket jeg ikke har noget problem med .. mem det er jo ikke hvad du beder om .. men hvis nogen skulle kunne bruge det til noget poster jeg det lige allgevel :)


<HTML>
<HEAD>
<SCRIPT>

//IMAGES FOR PRELOADING //
var pics = new Array("billede1","billede2","billede3","billede4","billede5","billede6","billede7","billede8","billede9","billede10","billede11","billede12");


//  URL AFTER PRELOADING //
var url = "index2.htm";


// ASK USERS TO GO TO NEXT PAGE AFTER PRELOADING? //
var doConfirm = true;

// ALLOW USER TO SKIP PRELOADING? //
var canSkip = false;


var imgObjs = new Array(pics.length);
var loaded = 0;
var total = pics.length;
var cPercent = 0;

var barLayer = null;
var percentLayer = null;
var statLayer = null;
var doneMsgLayer = null;


function getLayer(layerID) {
if (document.getElementById)
    return document.getElementById(layerID);
else if (document.all)
    return document.all[layerID];
else
    return null;
}


function updateBar() {
statLayer.innerHTML = "<font face=\"Arial\" color=\"black\"><B>" +loaded+ "/" +total+ "</B></font>";
var percent = Math.round(loaded/total * 100);
if (cPercent != percent)
    {
    cPercent = percent;
    barLayer.style.width = (cPercent*3) +"px";
    percentLayer.innerHTML = "<font color=\"#BBBB00\"><B>" +cPercent+ "%</B></font>";
    }
if (loaded == total)
    {
    doneMsgLayer.innerHTML = "<a href=\"java script:done()\"><font face=\"Arial\" color=\"black\" size=\"2\"><B>Done (Click Here)</B></font></a>";
    if (doConfirm && confirm("Siden er hentet, vil du forsætte?"))
        done();
    }
}




function startLoading() {
if (document.getElementById || document.all)
    {
    barLayer = getLayer("bar");
    percentLayer = getLayer("percent");
    statLayer = getLayer("stat");
    doneMsgLayer = getLayer("doneMsg");
    if (canSkip)
        doneMsgLayer.innerHTML = "<a href=\"java script:done()\"><font color=\"black\" size=\"2\" face=\"Arial\">Skip Pre-Loading</font></a>";
    for (i=0; i<pics.length; i++)
        {
        imgObjs[i] = new Image();
        imgObjs[i].onload = imgLoaded;
        imgObjs[i].onerror = imgFailed;
        imgObjs[i].src = pics[i];
        }
    }
else
    {

    window.location.replace(url);
    }
}




function done() {
parent.window.location.replace(url);
}



function imgFailed() {
alert("Det følgende billede blev ikke hentet, sikkert en fejl i henvisningen:\n" +this.src+ "\nVær sød at skrive en mail til webmasteren på denne side, tak.  Programmet hopper nu over filen.");
loaded++;
updateBar();
}

function imgLoaded() {
loaded++;
if (loaded>pics.length)
return
updateBar();
}

window.onload=startLoading

</SCRIPT>

<meta name="generator" content="Namo WebEditor v5.0(Trial)">
</HEAD>

<BODY bgcolor="white">

<DIV id="bg"
style="background-color:rgb(221,221,221); width:300px; height:23px; position:absolute; left:265px; top:300px; z-index:1; layer-background-color:rgb(221,221,221); ">
    <p>&nbsp;</p>
</DIV>
<DIV id="bar"
style="background-color:black; width:1px; height:23px; position:absolute; left:260px; top:300px; z-index:1; layer-background-color:black; ">
    <p>&nbsp;</p>
</DIV>
<DIV id="percent" style="width:200px; height:200px; position:absolute; left:390px; top:300px; z-index:1;"><FONT
color=#bbbb00><B>0%</B></FONT></DIV>
<DIV id="stat" style="width:200px; height:200px; position:absolute; left:580px; top:300px; z-index:1;"><FONT face=Arial
color=black><B>0/0</B></FONT></DIV>
<DIV id="doneMsg" style="width:200px; height:200px; position:absolute; left:680px; top:300px; z-index:1;">
    <p>&nbsp;</p>
</DIV></BODY></HTML>
Avatar billede manon Nybegynder
19. juli 2003 - 17:31 #9
phoenixv >>

Ja, preloaderen virker ikke - prøv at se på http://www.futurefreak.com/test/ - der kan du se at preloaderen går i gang, men samtidig begynder den at hente billederne.
Avatar billede Slettet bruger
19. juli 2003 - 19:14 #10
Nårh, på den måde. Nej, det er jo heller ikke understøttet af scriptet.

Alt efter disse linjer:

<script type="text/javascript">
preload();
</script>

... skal ind i en div:

<div id="skjulindhold" style="visibility: hidden;">

(husk at afslutte med </div> lige før body-taggets slutning)

Derefter indsætter du dette i funktionen "efterPreload":

function efterPreload() {
  document.getElementById("skjulindhold").style.visibility = "visible";
}
Avatar billede manon Nybegynder
20. juli 2003 - 17:06 #11
phoenixv >>>

Yepper - det virkede - takker.

Men hvorfor forsvinder preloaderen så ikke efter alt er cached?
Avatar billede Slettet bruger
20. juli 2003 - 19:41 #12
Det kan vi også klare:

function efterPreload() {
  document.getElementsByTagName("div")[0].style.visibility = "hidden";
  document.getElementsById("plbar").style.visibility = "hidden";
  document.getElementsById("pl").style.visibility = "hidden";
  document.getElementById("skjulindhold").style.visibility = "visible";
}

Og fjern så lige efterPreload-funktionen, der går før denne.
Avatar billede Slettet bruger
20. juli 2003 - 19:41 #13
Svar
Avatar billede manon Nybegynder
20. juli 2003 - 23:30 #14
phoenixv >>

Du er bare den bedste , meeeennnn .......... den virker sq ikke *s*

Eller er det bare mig de er dum og ikke kan se skorven for bare træer?

Er der noget jeg har glemt?

Håber du får tid til at svare i aften.
Mvh\Michael
Avatar billede Slettet bruger
21. juli 2003 - 11:58 #15
Der kom to s'er for meget med:

function efterPreload() {
  document.getElementsByTagName("div")[0].style.visibility = "hidden";
  document.getElementById("plbar").style.visibility = "hidden";
  document.getElementById("pl").style.visibility = "hidden";
  document.getElementById("skjulindhold").style.visibility = "visible";
}
Avatar billede Slettet bruger
21. juli 2003 - 11:58 #16
Og dette er nok ikke alle 200 point værd.
Tag nogle selv eller del ud til de andre, der har hjulpet. :)
Avatar billede manon Nybegynder
21. juli 2003 - 13:43 #17
phoenixv >>
du har absolut fortjent allle point :-)
Avatar billede Slettet bruger
21. juli 2003 - 17:22 #18
Jeg takker mange gange, men du bør nok sænke pointtallet lidt en anden gang. :)
Avatar billede manon Nybegynder
22. juli 2003 - 03:01 #19
phoenixv >>
nej - jeg har ca. 1700 point jeg skal have delt ud, da jeg lukker min konto når jeg er kommet til nul, fordi jeg gerne vil skifte til et nyt alias/brugernavn.
Så derfor kan jeg ligeså godt glæde andre ved at give nogle point ud :-)
Avatar billede roenving Novice
22. juli 2003 - 03:09 #20
???

-- er det så ikke ligegyldigt med disse 'gamle' points ?-)
Avatar billede manon Nybegynder
22. juli 2003 - 03:13 #21
roenving >>
naj da - de skal da ud og arbejde/omsættes *s*
Avatar billede roenving Novice
22. juli 2003 - 03:21 #22
>> til fordel for ?--)

-- det har li'som ikke no'en grund at smide dem i phoenixv's bunke eller min so what ?-)
Avatar billede manon Nybegynder
22. juli 2003 - 03:27 #23
roenving >>
jeg takker for dine ideer og holdning - også for at du har hjulpet mig i andre spørgsmål - men disse point er mine og den har jeg tjent og derfor må jeg også afgøre hvad der skal ske med dem *s*
Der står intet i reglementet at jeg må bruge mine point på den måde som jeg gør *s*
Avatar billede Slettet bruger
22. juli 2003 - 10:50 #24
2.1.9: [Det er ikke tilladt at] misbruge Eksperten.dk's pointsystem.

Nu kan man næppe kalde dette misbrug, men hvis du bare brænder point af uden at overveje spørgsmålets sværhedsgrad, nærmer vi os nok.
Du må huske, at der også er andre brugere, der enten har færre point til rådighed eller vælger helt at følge Ekspertens pointanbefalinger, og disse brugere vil jo blive overskygget af fx dine 200-point-spørgsmål.

:)
Avatar billede manon Nybegynder
22. juli 2003 - 12:42 #25
phoenixv >>
Dette spm. her har skam også en stor sværhedsgrad og fordi jeg ønskede et hurtigt svar belønnes det også.
Hvad andres point angår, vedkommer ikke mig - jeg skal selv til at starte forfra med 300 point ligesom jeg gjorte for over 5 år siden her på E.
Avatar billede Slettet bruger
22. juli 2003 - 12:45 #26
Tja, sværhedsgraden kan diskuteres, men jeg kan da oplyse, at jeg ikke har brugt meget mere end 1½ minut på dette spørgsmål (udover at lave det oprindelige script selvfølgelig).

Og jeg synes faktisk, at andres pointsituation angår dig - og alle andre. Eksperten er til, for at brugere kan hjælpe hinanden, og det kræver visse hensyn.
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