10. februar 2006 - 16:19
Der er
39 kommentarer og 1 løsning
Download rækkefølge
Hej eksperter Jeg har et lille problem med et javascript slideshow der "stjæler" båndbredde på min forside, således at baggrundsgrafik mm. først bliver hentet når hele slideshowet er hentet (sådan ser det i hvert fald ud). Er der en måde hvorpå jeg kan sikre at mine design elementer bliver hentet før slideshowet går igang? Her er den måde det er bygget op på (basalt): <head> <link href="styles/default.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="slideshow.js"></script> </head> <body> <div> <script type="text/javascript"> new fadeshow(teaser, 746, 200, 0, 8000, 0, "R") </script> </div> </body> Kan jeg på en eller anden måde få <script type="text/javascript"> new fadeshow(teaser, 746, 200, 0, 8000, 0, "R") </script> til at vente med at afvikles indtil resten af siden er hentet?
Annonceindlæg tema
10. februar 2006 - 16:23
#1
window.onload = function () ... men så venter den også til at hele siden og alt grafikken er loaded
10. februar 2006 - 16:26
#2
Hvor skal det sættes ind?
10. februar 2006 - 16:31
#3
<script type="text/javascript"> function init() { new fadeshow(teaser, 746, 200, 0, 8000, 0, "R"); } window.onload = init; </script> Er det sådan?
10. februar 2006 - 17:00
#4
ja - virker det ? (tror det ikke)
10. februar 2006 - 17:01
#5
kunne godt se ud som om slideshowet kigger på den div den er i
10. februar 2006 - 17:03
#6
Det virker ikke nej... altså slideshowet kommer frem præcis som før, og baggrundsgrafikken dukker ikke op før næste billede dukker op (8 sekunder).
10. februar 2006 - 17:04
#7
har du en url ?
10. februar 2006 - 17:10
#8
10. februar 2006 - 17:22
#9
Lige pt er der kun ét billede i slideshowet (har fjernet de andre) og så ryger loadtiden langt ned. I hvert fald i forhold til de 8-9 sekunder den var før.
10. februar 2006 - 17:26
#10
det virker da fint (sidder på en 2 MBit) både i IE og firefox ?
10. februar 2006 - 17:28
#11
nu har jeg lagt flere fotos ind igen. Og vupti, så stiger load tiden helt vildt. Kan det virkelig øge tiden med fleres sekunder at jeg forlænger et array?
10. februar 2006 - 17:29
#12
2 Mbit giver nok ikke de store problemer. Jeg sidder selv på en 512 kbit. Men hvad med folk på 256kbit eller folk med modem? Guderne må vide hvor lang tid det tager for dem....
10. februar 2006 - 17:29
#13
nej kan nu godt se hvad der er problemet
10. februar 2006 - 17:30
#14
prøvevt i headeren at preloade imaga´et du bruger til baggrund var bgimg = New Image() bgimg.src = 'blabla.gif'
10. februar 2006 - 17:33
#15
med lille n i new
10. februar 2006 - 17:34
#16
Uha, der er mange.... og de er forskellige fra side til side... Kan man virkelig ikke få det slideshow til at vente med at starte? :-(
10. februar 2006 - 17:35
#17
Jeg har også lagt mærke til at jo flere billeder der er i mit slideshow array, jo længere tager det at hente siden. Så det vil altså sige at den henter hele stakken på én gang... det er jo også lidt upraktisk....
10. februar 2006 - 17:41
#18
så må du bygge dit egte slideshow der _først_ henter det næste billede når siden er loadedog der er brug for det næste billede
10. februar 2006 - 17:42
#19
tror det er det der sker på
http://tdc.dk/
10. februar 2006 - 17:51
#20
puha... ikke just det nemme fix jeg håbede på :-(
10. februar 2006 - 18:03
#21
har være inde og kigge i koden ... den udskriver direkte hvilket er noget knald...
10. februar 2006 - 18:09
#22
ok. crap. Nogle anbefalinger af et lignende slideshow der gør det ordentligt?
10. februar 2006 - 20:06
#23
hmm næh jeg ville da hellere lige bygge den om du har hvis jeg var dig *s*
10. februar 2006 - 21:33
#24
Det må jeg så forsøge... er dog ikke så skarp i javascript, så den er lidt svær at finde hoved og hale i.
11. februar 2006 - 06:29
#25
Det site du laver er det på frivillig basis eller er det en betalt opgave ?
11. februar 2006 - 11:40
#26
Det er en blanding. Det er et pilotprojekt, hvor jeg er ved at udvikle et administrationssystem til.
11. februar 2006 - 11:57
#27
allrighty... du kan evt smide den ind under kategorien [opgaver] evt.
11. februar 2006 - 12:20
#28
Det er hermed gjort:
http://www.eksperten.dk/spm/687170 Jeg lader lige spørgsmålet stå i tilfælde af at der er nogen der kan svare på det oprindelige spørgsmål her: Kan det lade sig gøre først at udføre slideshow funktionen, når hele resten af siden er hentet?
11. februar 2006 - 15:43
#29
Den simple løsning er at sætte preload-funktionen til først at gå i gang, når siden ellers er loadet !-) -- så horsmarks indledende bemærkning skal bare implementeres i det, ellers ved første kig, ganske udmærkede script !o] -- udkommentér disse linjer, og tilføj nogle andre: /* this.postimages=new Array() //preload images for (p=0;p<theimages.length;p++){ this.postimages[p]=new Image() this.postimages[p].src=theimages[p][0] } */ -- og de andre kunne f.eks. se sådan ud: <script type="text/javascript"> var f1 = new fadeshow(fadeimages, 140, 225, 0, 3000, 1, "R") var f2 = new fadeshow(fadeimages2, 140, 225, 0, 3000, 0) window.onload = function(){ f1.postimages = new Array(); for (p=0;p<f1.theimages.length;p++){ f1.postimages[p]=new Image() f1.postimages[p].src=f2.theimages[p][0] } f2.postimages = new Array(); for (p=0;p<f2.theimages.length;p++){ f2.postimages[p]=new Image() f2.postimages[p].src=f2.theimages[p][0] } } </script> -- og det er selvfølgelig absolut utestet !-) -- jeg har ikke studeret koden så meget, at jeg ved, om de arrays benyttes under initialiseringen !o]
11. februar 2006 - 15:48
#30
roenving -> såsnart objectet oprettes smider den en document.write() ... hvilket er helt hul i hatten *G*
11. februar 2006 - 15:51
#31
Den smukke løsning ville være at ombygge dette script til et "helt" object <div id="nisse_per_prutter_pingviner"> </div> var myImageFader = fader(fadeimages, 140, 225, 0, 3000, 1, "R") myImageFader.setContainerById("nisse_per_prutter_pingviner") window.onload = function () { myImageFader.start() }
11. februar 2006 - 15:54
#32
horsmark> Betyder det at roenvigs løsning ikke virker?
11. februar 2006 - 15:58
#33
-- brug af document.write er ikke anbefalelsesværdigt, da der ikke er nogensomhelst form for fremtidssikring, hvis man benytter sådanne ting ...
11. februar 2006 - 16:01
#34
ja det kræver lige en del omrokering og oprydning i klassen for at den er "lækker"... roenving -> "HØRT!"
11. februar 2006 - 16:01
#35
Det vil sige at hele grund idéen i slideshow scriptet er for gammeldags? Hvor finder jeg er script der er godt?
11. februar 2006 - 16:12
#36
.oO(får sq helt lyst til at bygge et "ordentligt" slideshow til mit CMS på et tidspunkt)
11. februar 2006 - 16:20
#37
Hvad med den her? Den påstår at den kun preloader det næste foto:
<SCRIPT LANGUAGE="JavaScript">
<!--
/*
Script by FPMC at
http://jsarchive.8m.com Submitted to JavaScript Kit (
http://javascriptkit.com )
For this and 400+ free scripts, visit
http://javascriptkit.com */
//set image paths
src = ["image1.gif", "image2.gif", "image3.gif", "image4.gif"]
//set corresponding urls
url = ["
http://freewarejava.com" , "
http://javascriptkit.com" , "
http://dynamicdrive.com" , "
http://www.geocities.com"] //set duration for each image
duration = 4;
//Please do not edit below
ads=[]; ct=0;
function switchAd() {
var n=(ct+1)%src.length;
if (ads[n] && (ads[n].complete || ads[n].complete==null)) {
document["Ad_Image"].src = ads[ct=n].src;
}
ads[n=(ct+1)%src.length] = new Image;
ads[n].src = src[n];
setTimeout("switchAd()",duration*1000);
}
function doLink(){
location.href = url[ct];
} onload = function(){
if (document.images)
switchAd();
}
//-->
</SCRIPT>
<A HREF="java script:doLink();" onMouseOver="status=url[ct];return true;"
onMouseOut="status=''">
<IMG NAME="Ad_Image" SRC="image1.gif" BORDER=0>
</A>
<p align="center"><font face="arial" size="-2">This free script provided by <a href="
http://javascriptkit.com">JavaScript Kit</a></font></p>
11. februar 2006 - 16:22
#38
hmm, den var vidst ikke så fleksibel nu jeg ser på den....
27. september 2006 - 20:16
#39
Smid et svar, jer der vil have point :-) Jeg endte med at reducere antallet af billeder i slideshowet. Kunne ikke få det andet til at fungere.
27. september 2006 - 21:06
#40
check
Vi tilbyder markedets bedste kurser inden for webudvikling