16. april 2003 - 16:22
Der er
22 kommentarer og 1 løsning
ret i script.
<style> .fade { filter: blendTrans(duration=1); //Duration = varighed i sekunder } </style> <script> billeder = new Array("pic1.gif", "pic2.gif", "pic3.gif", "pic4.gif", "pic5.gif", "pic6.gif", "pic7.gif", "pic8.gif", "pic9.gif", "pic10.gif", "pic11.gif", "pic12.gif", "pic13.gif", "pic14.gif", "pic15.gif", "pic16.gif"); //Billederne fade = 1000; //Fade-hastighed i millisekunder - husk også at rette i stylen! hast = 3000; //Skifte-hastighed uden fade-tid (ms) bp = new Array(); for (i = 0; i < billeder.length; i++) { bp[i] = new Image(); bp[i].src = billeder[i]; } plac = new Array(); for (i = 0; i < 5; i++) plac[i] = i; foer = null; function shuffle() { tal = tilf(); tal2 = tilf2(); if (tal2 < 5) {tal2 = tal2 + 5;} if (document.all) document.images["bill" + tal].filters.blendTrans.apply(); document.images["bill" + tal].src = bp[tal2].src; if (document.all) document.images["bill" + tal].filters.blendTrans.play(); plac[tal] = tal2; setTimeout(shuffle, fade + hast); } function tilf() { do rand = Math.floor(Math.random() * 5); while (rand == foer); foer = rand; return rand; } function tilf2() { do rand = Math.floor(Math.random() * billeder.length); while (erUde(rand)); return rand; } function erUde(nr) { for (i = 0; i < 6; i++) if (plac[i] == nr) return true; return false; } </script> </head> <body topmargin="10" leftmargin="10" onLoad="if (billeder.length > 10) setTimeout(shuffle, fade + hast);" bgcolor="#C3D336"> ------------------- <script> for (i = 0; i < 5; i++) { document.write('<td><img src="' + billeder[i] + '" border="0" name="bill' + i + '" class="fade"></td>'); } </script> ------------------ Jeg ved ikke om det er en fejl, eller det ikke har virked sådan,... Det samme billedet må KUN blive vist som en adgangen, altås ikke to ens billeder på engang. Takker.
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Slettet bruger
19. april 2003 - 10:28
#1
Det er fordi, der er en eller anden, der har rettet i mit ellers så geniale script (...)! :) Slet: if (tal2 < 5) {tal2 = tal2 + 5;} ... og ændr dette: do rand = Math.floor(Math.random() * billeder.length); ... til dette: do { rand = Math.floor(Math.random() * billeder.length); if (rand < 5) rand += 5; }
19. april 2003 - 10:50
#2
<style> .fade { filter: blendTrans(duration=1); //Duration = varighed i sekunder } </style> <script> billeder = new Array("pic1.gif", "pic2.gif", "pic3.gif", "pic4.gif", "pic5.gif", "pic6.gif", "pic7.gif", "pic8.gif", "pic9.gif", "pic10.gif", "pic11.gif", "pic12.gif", "pic13.gif", "pic14.gif", "pic15.gif", "pic16.gif"); //Billederne fade = 1000; //Fade-hastighed i millisekunder - husk også at rette i stylen! hast = 3000; //Skifte-hastighed uden fade-tid (ms) bp = new Array(); for (i = 0; i < billeder.length; i++) { bp[i] = new Image(); bp[i].src = billeder[i]; } plac = new Array(); for (i = 0; i < 5; i++) plac[i] = i; foer = null; function shuffle() { tal = tilf(); tal2 = tilf2(); if (document.all) document.images["bill" + tal].filters.blendTrans.apply(); document.images["bill" + tal].src = bp[tal2].src; if (document.all) document.images["bill" + tal].filters.blendTrans.play(); plac[tal] = tal2; setTimeout(shuffle, fade + hast); } function tilf() { do { rand = Math.floor(Math.random() * billeder.length); if (rand < 5) rand += 5; } while (rand == foer); foer = rand; return rand; } function tilf2() { do rand = Math.floor(Math.random() * billeder.length); while (erUde(rand)); return rand; } function erUde(nr) { for (i = 0; i < 6; i++) if (plac[i] == nr) return true; return false; } </script> </head> <body topmargin="10" leftmargin="10" onLoad="if (billeder.length > 10) setTimeout(shuffle, fade + hast);" bgcolor="#C3D336"> ------------------- <script> for (i = 0; i < 5; i++) { document.write('<td><img src="' + billeder[i] + '" border="0" name="bill' + i + " class="fade"></td>'); } </script>
Slettet bruger
19. april 2003 - 10:58
#3
Tja, noobie, du må være stolt af dit arbejde i dag. Find en anden måde at få point på; ellers er det sgu for sølle!
19. april 2003 - 10:59
#4
ja undskyld :( Men så skriv dit svar !!! Jeg ved det godt men du skrev jo ikke svaret... Dit var kun en kommentar :)
19. april 2003 - 11:01
#5
jeg skriver bare hele koden !!! Som et svar :[
Slettet bruger
19. april 2003 - 11:03
#6
Og det er jo netop ikke et svar, det er en uddybning, og endda en ligegyldig en. Grunden til, at jeg ikke skriver hele koden er, at det fylder en masse og gør spørgsmålet helt uoverskueligt. Derudover lægger jeg aldrig et svar, før jeg er sikker på, jeg har 100% ret. Noget du (og andre) kunne lære.
22. april 2003 - 19:15
#7
phoenixv >> lig et svar ;-)
22. april 2003 - 19:20
#8
jeg var lidt for hurtig, oplever stadivæk, at de samme billeder kommer frem flere af gangen.
Slettet bruger
22. april 2003 - 20:33
#9
Smid lige et link.
Smid et svar, istedet... Beklager havde glemt det åbne spm.
Der er da flere fejl -- ihvertfald i det noobie har lagt op ... Det kommer måske fra en-linjers statements, men en del tilfælde af manglende funktionsafgrænsninger -- bla. i det du skrev phoenixv ;-|
Slettet bruger
18. maj 2003 - 10:45
#12
roenving>> Du må vist forklare dig, tror jeg. Mit script har virket før, det ved jeg da. cybermaster>> Jeg skal ikke have point, hvis jeg ikke kunne hjælpe.
F.eks. denne: do { rand = Math.floor(Math.random() * billeder.length); if (rand < 5) rand += 5; } -- for det første har du en if på flere linjer uden funktionsafgrænsning {} og for det andet kan jeg ikke lige se hvordan man kan slippe ud af do-sætningen -- men det hænger måske sammen med en manglende { i if'en ?-) Hvis man bare kigger et øjeblik på noobies, støder man ind i en masse, som denne der er ulovlig i flere linjer: for (i = 0; i < 5; i++) plac[i] = i; mvh jes
Slettet bruger
18. maj 2003 - 16:11
#14
roenving>> Hvis en if-sætning kun indeholder én kommando, må man godt undlade {}. Det er skam også ganske standard at gøre det. Mht. do, så er det jo også en ganske normal do-while forgrening. Jeg forstår ikke, hvor du vil hen med det? :)
Slettet bruger
18. maj 2003 - 16:13
#15
do { rand = Math.floor(Math.random() * billeder.length); if (rand < 5) rand += 5; } while (erUde(rand)); ... er det samme som at sige: rand = Math.floor(Math.random() * billeder.length); if (rand < 5) rand += 5; while (erUde(rand)) { rand = Math.floor(Math.random() * billeder.length); if (rand < 5) rand += 5; }
-- men hvordan slipper man ud af den angivne do ?-) ... -- det kunne være jeg lige skulle tage fat i min syntaks-bog omkring enkelt-statement- og enkelt-linje-løkker ,-)
-- øeh, måske skal skærmen også pudses ... noget af det havde jeg overset ;-|
Slettet bruger
18. maj 2003 - 16:18
#18
Man slipper ud af den angivne do, når while-sætningen, der står bagefter, er falsk. Men do når altid at blive udført mindst én gang. Mht. enkeltlinje-løkker og -betingelser, så ja: Det er nok en god idé at stave bogen af. :)
Slettet bruger
18. maj 2003 - 16:23
#19
roenving>> Prøv dette: <script> if (confirm("Tryk OK eller Annuller")) alert("Bla"); if (confirm("Tryk OK eller Annuller")) { alert("Bla"); } if (confirm("Tryk OK eller Annuller")) alert("Bla"); alert("Bla2"); if (confirm("Tryk OK eller Annuller")) { alert("Bla"); alert("Bla2"); } </script> En lille demonstration. :)
Slettet bruger
18. maj 2003 - 16:26
#20
Hvis man i øvrigt forgrener endnu en if-sætning, behøves heller ikke {}, også selvom den anden if-sætning indeholder mere end én kommando: if (document.all) if (document.getElementById) { alert("Hurra!"); alert("Du bruger IE5+"); } I dette tilfælde er det dog påkrævet: if (document.all) { if (document.getElementById) { alert("Hurra!"); alert("Du bruger IE5+"); } } else alert("Tja, du er i hvert fald ikke IE!");
18. juni 2003 - 12:35
#21
phoenixv >> lig et svar.
Slettet bruger
18. juni 2003 - 15:07
#22
That I will.
20. juni 2003 - 12:30
#23
Tak for hjælpen, og unskyld vente tiden.
Vi tilbyder markedets bedste kurser inden for webudvikling