Avatar billede bingokaj Nybegynder
29. september 2001 - 12:37 Der er 16 kommentarer og
1 løsning

Loade billede fra et layer

Hej Allesammen

Jeg er ved at bikse en hjemmeside sammen, som bl.a. indeholder nogle thumbnails, der linker til nogle hires billeder. Disse billeder vil jeg gerne have vist i et span ell. div \"ovenpå\" resten af hjemmesiden. Problemet er at hvis jeg bare laver nogle usynlige layers i koden, så skal man jo loade ALLE hires billederne for at komme ind på siden (selvom man ikke kan se dem). Derfor vil jeg gerne kunne loade en html-fil dynamisk ind i et layer. Hvordan gør man det ?
Avatar billede bingokaj Nybegynder
29. september 2001 - 12:39 #1
tjek http://www.itsohsoquiet.dk/design.asp?Sektion=1 for se den side det skal virke på.
Avatar billede nikolajdu Nybegynder
29. september 2001 - 13:06 #2
Ole Bole har lavet en lækker lille version du kan se her:

http://www.olebole.f2s.com/load_html/
Avatar billede roenving Novice
29. september 2001 - 14:48 #3
En anden ting, du kunne gøre, var at preloade billederne *efter* siden var loadet, så ville alle billederne blive loadet, og de ville så blive taget fra cachen, når de skulle bruges, sådan noget som:

<script type=text/javascript>

function preload(){
var billeder=new Array(\'billede1.gif\',billede2.gif\');

for (i=0;i<billeder.length;i++){
navn=billeder[i];
billeder[i]=new Image();
billeder[i].src=navn;
}
}
</script>
·
·
·

<body ... onLoad=\"preload();\">

Det har selvfølgelig den bagdel, at alle dine billeder kommer til at ligge som aktive billeder, så hvis du har mange og store billeder, kan det påvirke performance for siden, men der viste JakobA for nogle dage siden, hvordan man skulle frigive hukommelsen igen.

Selvfølgelig kan det også ske, at brugeren forsøger at få fat i et billede, som endnu ikke er loadet, men risikoen er da så i hvert fald minimeret.

hth
jes
Avatar billede nikolajdu Nybegynder
29. september 2001 - 14:50 #4
Jes du vil da seriøst ikke preloade 20 Hires billeder???
Avatar billede nikolajdu Nybegynder
29. september 2001 - 14:53 #5
Damn Jeg får jo brug for en kats 9 liv når siden kommer til at tage 6 hundeår...
Avatar billede roenving Novice
29. september 2001 - 14:59 #6
>>nikolajdu
onLoad går jo netop først igang, når siden ellers er loadet, så mens brugeren finder rundt, så kan browseren stå og hygge sig med at loade billederne.

Hvis brugeren,, så bevæger sig over til en anden side (ved hjælp af browserens navigations-muligheder) stoppes loadet.

Problemet er selvfølgelig, at anden funktionalitet i siden har et problem, det kunne man klare ved at sætte en timeout op, som ville give plads til anden funktionalitet mellem hvert billede.

Jeg tror problemet med anden performance ville være en hel del værre.

mvh
jes
Avatar billede olebole Juniormester
29. september 2001 - 20:17 #7
<ole>
roenving >> Det er netop ikke et preload-spørgsmål  :)
Spørgeren vil gerne undgå at skulle have alle billederne liggende i <div>\'s i dokumentet - og det er unødvendigt, hvis han kun har ét div og så loader billederne ind i det. Hvorfor preloade 20 billeder, når brugeren skal vente 20 minutter på at nummer 19 er preloaded.
En evt. preload kommer ingen til gode ved så mange hiRes billeder. Så er det bedre at loade dem ind i et div.

En nemmere måde at gøre det på, end den nikolajdu linker til, ville måske være noget à la:

<script language=\"JavaScript\">
function insPic(pic) {
  document.getElementById(\'bo\').innerHTML = \'<img src=\"\'+pic+\'\">\';
  document.getElementById(\'ib\').style.visibility = \"visible\";
}
</script>

<div id=\"ib\" style=\"position:absolute;left:200px;top:100px;visibility:hidden;\">
<table style=\"width:600px\">
<tr>
  <td style=\"text-align:right\"><a href=\"#\" onclick=\"document.getElementById(\'ib\').style.visibility=\'hidden\'\">X</a></td>
</tr>
<tr>
  <td id=\"bo\" style=\"text-align:center;vertcal-align:middle\"></td>
</tr>
</table>
</div>

<a href=\"#\" onclick=\"insPic(\'pic1.jpg\')\">Pic 1</a><br>
<a href=\"#\" onclick=\"insPic(\'pic2.jpg\')\">Pic 2</a>

/mvh
</bole>
Avatar billede roenving Novice
29. september 2001 - 23:46 #8
>>preload næeh ...
Men det kunne måske give en indgangsvinkel til videre behandling !·]
Avatar billede olebole Juniormester
30. september 2001 - 00:01 #9
:)
Avatar billede nikolajdu Nybegynder
30. september 2001 - 03:52 #10
Ole nu skal du ikke komme og ødelægge det hele. Jeg har jo netop for at undgå stave-/tastefejl nu copy/pastet fra et af dine gamle svar... ;-)
Avatar billede roenving Novice
30. september 2001 - 03:55 #11
>>nikolaj , tør du ikke mere stole på dine tastefingre klokken lort *GG*
Avatar billede nikolajdu Nybegynder
30. september 2001 - 03:58 #12
Det er faktisk noget rigtigt skidt. Jeg lagde mig kl 18.30 for lige at sove en times tid, så jeg kunne komme ud og få en enkelt med drengene. Kl. 2.30 vågnede med et sæt og var lysvågen. Lidt skidt for min nattesøvn, men godt for evt. tastefejl.
Avatar billede olebole Juniormester
30. september 2001 - 03:58 #13
Jamen, det kan uden tvivl være til stor inspiration - for ikke at sige fryd - for den ganske dansk-, engelsk- og JavaScript-lærerstab. Ikke desto mindre føler jeg mig overbevist om, at det pågældende svar, du har copy/pasted fra, ikke lød helt som dette  :)
Avatar billede nikolajdu Nybegynder
30. september 2001 - 03:59 #14
P.s næsten gang stiller jeg et ur....
Avatar billede nikolajdu Nybegynder
30. september 2001 - 04:00 #15
Nu kan i drenge svare på mit spørgsmål om 2 minutter...
Avatar billede nikolajdu Nybegynder
30. september 2001 - 04:05 #16
Avatar billede nikolajdu Nybegynder
30. september 2001 - 04:07 #17
Udover at der allerede er kommet nogle rimelige svar her, så kunne det være interessant at få javaScriptfolkets bud på hvorfor this er en dejlig ting.

http://www.eksperten.dk/spm/115180

Jeg ved godt det er i Flash, men brugen er identisk.
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