Avatar billede dennism Nybegynder
01. december 2003 - 16:40 Der er 11 kommentarer og
1 løsning

HTML: Loading screen

Hvordan kan jeg lave et loading screen (i form af et billed) så længe min side loader? Er det muligt at lave noget, hvor det virker i andre browser end IE?
Avatar billede roenving Novice
01. december 2003 - 16:44 #1
Selvfølgelig !-)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Tomt dokument</title>
<meta name="Generator" content="Stone's WebWriter 4">
<meta name="Keywords" content="roenving/?;http://www.eksperten.dk/spm/361919">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<span id="loading" style="display:block;">
<script language="javascript" type="text/javascript">
function displaySiden(){
if(document.all){l=document.all['loading'];s=document.all['siden'];
}else if(document.getElementById){l=document.getElementById('loading');s=document.getElementById('siden');}
l.style.display = 'none'; s.style.display = 'block';}
setTimeout("displaySiden()",3000);
</script>
<p>Testside</p>
<!-- Her indsættes billede eller tekst, som fortæller at siden loades -->
Loading
</span>
<div id="siden" style="display:none;"><!-- Hele siden indsættes i denne DIV -->
<img src="../eksperten_logo_new.gif">
</div>
</body>
</html>
Avatar billede roenving Novice
01. december 2003 - 16:45 #2
-- her ventes 3 sekunder, men hvis det specielt er en enkelt grafik-ting, som giver problemet, kan man sætte onload på det <img>
Avatar billede dennism Nybegynder
01. december 2003 - 16:50 #3
Kan man ik lave sådan at den selv forsvinden når siden er loadet, istedet for at der får f.eks. 3 sekunder?
Avatar billede roenving Novice
01. december 2003 - 17:08 #4
Hvad er det, som er langsomt på din side ?-)

Hvis det er et billede kan vi gøre som jeg skrev ovenfor, er det andre elementer skal vi bruge den ie-specifikke onreadystatechange !-)
Avatar billede dennism Nybegynder
01. december 2003 - 17:19 #5
Der er en lidt tung baggrund, og en masse knapper som godt kan tage lidt tid.. Er det ik muligt at lave sådan, at den først skifter når alt er loadet?
Avatar billede roenving Novice
01. december 2003 - 23:34 #6
Kan du give et eksempel på dine knap-giffer ?-)

-- det lyder nemlig som om, vi skal ud i at checke for, om hver enkelt grafik-stump er loadet, men heller ikke det er alt for voldsomt, når vi alligevel venter !-)
Avatar billede dennism Nybegynder
02. december 2003 - 15:36 #7
Avatar billede roenving Novice
02. december 2003 - 16:23 #8
Desværre vil kun baggrunden for body være omfattet af denne måde at gøre det på, men den vil måske være nok, til at de 'store' problemer går væk:

<script type="text/javascript">
var imgLoad = 0, timer = 0;
function testLoad(){
    if(imgLoad<11)return;
    if(document.all){
        l=document.all['loading'];
        s=document.all['siden'];
    }else if(document.getElementById){
        l=document.getElementById('loading');
        s=document.getElementById('siden');
    }
    l.style.display = 'none';
    s.style.display = 'block';
    clearInterval(timer);
}
</script>

<body onload="timer=setInterval('testLoad()',20);">

<img src="" onload="imgLoad++">

-- udgangspunktet er ovenstående struktur i dokumentet -- som du kan se inde i koden er det magiske tal 11, altså når både dokumentet som sådan er loadet færdigt og alle 11 <img>-tags er loadet vil den vise det hele !-)
Avatar billede dennism Nybegynder
20. december 2003 - 10:46 #9
Lukker da jeg ikke har fundet en løsning som jeg kan bruge
Avatar billede roenving Novice
20. december 2003 - 12:34 #10
Hvad var det så, du ønskede ?-)
Avatar billede dennism Nybegynder
20. december 2003 - 12:53 #11
Hvor det var muligt uden at skulle smide kode på hvert enkelt billed.
Avatar billede roenving Novice
20. december 2003 - 13:22 #12
Jamen, man _kan ikke_ finde ud af, om billedet er loadet uden at spørge på billedet, men det kan da gøres anderledes:

<script type="text/javascript">
var timer = 0;
function testLoad(){
    for(i=0;document.images.length>i;i++){
        if(!document.images[i].complete)return;
    }
    clearInterval(timer);
    if(document.all){
        l=document.all['loading'];
        s=document.all['siden'];
    }else if(document.getElementById){
        l=document.getElementById('loading');
        s=document.getElementById('siden');
    }
    l.style.display = 'none';
    s.style.display = 'block';
}
</script>

-- så skal der ikke noget på billederne, body-onload skal stadig være der !-)
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