09. maj 2007 - 07:06Der er
32 kommentarer og 1 løsning
Hvordan laver jeg "Random" fotos ?
Hejsa !
Vil høre om der er en af jer der kan hjælpe mig lidt videre med at lave et script der kan blande billeder på min side ?
Jeg har fundet et script på nettet der ser sådan her ud:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin var timeDelay = 2; // change delay time in seconds var Pix = new Array ("r2.jpg" ,"r14.jpg" ,"r16.jpg" ,"r17.jpg" ,"r18.jpg" ,"r19.jpg" ,"r20.jpg" ,"r21.jpg" ,"r22.jpg" ,"r23.jpg" ,"r3.jpg" ,"r4.jpg" ,"r5.jpg" ,"r6.jpg" ,"r7.jpg" ,"r8.jpg" ,"r9.jpg" ,"r10.jpg" ,"r11.jpg" ,"r12.jpg" ); var howMany = Pix.length; timeDelay *= 1000; var PicCurrentNum = 0; var PicCurrent = new Image(); PicCurrent.src = Pix[PicCurrentNum]; function startPix() { setInterval("slideshow()", timeDelay); } function slideshow() { PicCurrentNum++; if (PicCurrentNum == howMany) { PicCurrentNum = 0; } PicCurrent.src = Pix[PicCurrentNum]; document["ChangingPix"].src = PicCurrent.src; } // End --> </script>
Er det muligt at skrive det om så jeg kan få scriptet til at "Kigge" i en mappe på min server og få den til at "Random" billederne i mappen ? For i det script jeg har "Pastet" overpå, skal man manuelt selv skrive navnet på hvert billede ind..
Håber i har en god idé, eventuelt et alternativ til hvordan man laver random fotos..
<!-- Begin var timeDelay = 2; // change delay time in seconds var Pix = new Array(<?PHP echo $finish; ?>); var howMany = Pix.length; timeDelay *= 1000; var PicCurrentNum = 0; var PicCurrent = new Image(); PicCurrent.src = Pix[PicCurrentNum]; function startPix() { setInterval("slideshow()", timeDelay); } function slideshow() { PicCurrentNum++; if (PicCurrentNum == howMany) { PicCurrentNum = 0; } PicCurrent.src = Pix[PicCurrentNum]; document["ChangingPix"].src = PicCurrent.src; } // End --> </script>
Hej igen coldgate... Wauw det ser spændende ud, jeg er dog ikke helt sikker på hvor meget jeg skal bruge af scriptet ? Om jeg både skal ha' både PHP koden og javascriptet lagt ind på min side.. ?
Det vil jeg rode lidt med, TAK for hjælpen :o)
Uhreskov.
Synes godt om
Slettet bruger
09. maj 2007 - 18:13#5
Du skal bruge begge dele, da PHP'en læser fra mappen du skriver $dir ligmed. Og skriver det så ud til Javascriptet.
<!-- Begin var timeDelay = 2; // change delay time in seconds var Pix = new Array(<?PHP echo $finish; ?>); var howMany = Pix.length; timeDelay *= 1000; var PicCurrentNum = 0; var PicCurrent = new Image(); PicCurrent.src = Pix[PicCurrentNum]; function startPix() { setInterval("slideshow()", timeDelay); } function slideshow() { PicCurrentNum++; if (PicCurrentNum == howMany) { PicCurrentNum = 0; } PicCurrent.src = Pix[PicCurrentNum]; document["ChangingPix"].src = PicCurrent.src; } // End --> </script>
ser kilden ? Jeg går ud fra du mener hvad jeg kan se på siden når jeg åbner den i browseren ? Hvis det er det du mener, så kommer der intet frem ? siden er blank
ahh.. nu er jeg lidt med jeg skrev www.domain.dk/fotos.php og valgte vis kilde... her er hvad der står:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin var timeDelay = 2; // change delay time in seconds var Pix = new Array(); var howMany = Pix.length; timeDelay *= 1000; var PicCurrentNum = 0; var PicCurrent = new Image(); PicCurrent.src = Pix[PicCurrentNum]; function startPix() { setInterval("slideshow()", timeDelay); } function slideshow() { PicCurrentNum++; if (PicCurrentNum == howMany) { PicCurrentNum = 0; } PicCurrent.src = Pix[PicCurrentNum]; document["ChangingPix"].src = PicCurrent.src; } // End --> </script>
-- og så er din php-forespørgsel åbenbart ikke gået, som den burde, for Pix-arrayet er tomt ...
Synes godt om
Slettet bruger
11. maj 2007 - 11:46#15
Men roenving, er det i PHP min fejl lægger? Det ser ellers ud til at skulle virke. Skal der mon chmod'es - nej vel??
Synes godt om
Slettet bruger
11. maj 2007 - 11:48#16
Men det er spild af ressourscer at lave 2 x foreach, istedet for at klarer det hele i en løkke, for løkke 2 kan lige så godt bygges sammen med løkke 1.
Synes godt om
Slettet bruger
11. maj 2007 - 11:50#17
Jamen prøv lige at tilføje, det der 'objekt/element' ChangingPix!
Hej igen... Jeg har lidt primitivt prøvet at copy/paste hele koden i Frontpage, og der får jeg en fejl i linje 29 tegn 21.. ? Jeg kan ikke "Finde" tegn 21..
<!-- Begin var timeDelay = 2; // change delay time in seconds var Pix = new Array(<?PHP echo $finish; ?>); var howMany = Pix.length; timeDelay *= 1000; var PicCurrentNum = 0; var PicCurrent = new Image(); PicCurrent.src = Pix[PicCurrentNum]; function startPix() { setInterval("slideshow()", timeDelay); } function slideshow() { PicCurrentNum++; if (PicCurrentNum == howMany) { PicCurrentNum = 0; } PicCurrent.src = Pix[PicCurrentNum]; document["ChangingPix"].src = PicCurrent.src; } // End --> </script>
<!-- Begin var timeDelay = 2; // change delay time in seconds var Pix = new Array(<?PHP echo implode(", ", $images); ?>); var howMany = Pix.length; timeDelay *= 1000; var PicCurrentNum = 0; var PicCurrent = new Image(); PicCurrent.src = Pix[PicCurrentNum];
function startPix() { setInterval("slideshow()", timeDelay); }
Jeg har forkortet det med de 2 x foreach og gjort det lidt bedre. Der manglede som sagt det element/img tag der skulle ændres sti på. Og så manglede der i javascript'et at be om at starte [startPix(); funktionen]
Hejsa.. Så er jeg tilbage igen, jeg har været i udlandet og arbejde... I må undskylde at jeg ikke har svaret før nu...
Jeg har testet skriptet og det virker KANONT !!! Har et tillægs spørgsmål:
Er det muligt at få scriptet til at "Kigge" i undermapper ? Forstået på den måde at jeg har i min mappe andre mapper når jeg laver en opdatering Eks. fotos/april fotos/maj fotos/juni
Osv... Kan det fixes så den kan "blande" fra flere mapper ?
Endnu engang tak for jeres hjælp Uhreskov.
Synes godt om
Slettet bruger
01. juni 2007 - 19:18#28
Ja det kan godt lade sig gøre. Jeg skal bare lige kigge på scriptet igen, kan ikke huske hvordan det er bygget op.
Hej coldgate... Det lyder super, ikke for at være vanskelig, men er det også muligt at lave i scriptet, så scriptet laver random, forstået på den måde at hver gang siden loades ind, at scriptet ikke starter forfra med at vise de samme billeder igen, hvis det kan laves så scriptet "Bare" tager nogle billeder i vilkårlig rækkefølge, og ikke fra nummer 1 2 3 osv.
Mvh. Uhreskov.
Synes godt om
Slettet bruger
03. juni 2007 - 00:00#30
Ja det er muligt. Jeg kan squ ikke lige se det for mig, hvilke funktion man kan bruge til det med sub_dirs men for at få blandet de billeder du har skal du bruge denne funktion: shuffle.
Hejsa endnu engang... Ikke for at være belastende... men er det muligt som en sidste ting at ligge noget i scriptet der kan bestemme størrelsen af de billeder der skal vises ?
Jeg syntes de billeder der er nu er lidt for store, jeg vil gerne gøre dem lidt mindre..
ups... det er jo øjenene man bliver blind på først... Jeg har fundet ud af det med størrelsen..
coldgate kunne jeg ikke be' om et "svar" fra dig, så du kan få lidt point ?
Mvh. Uhreskov.
Synes godt om
Slettet bruger
11. juni 2007 - 01:00#33
svar
Synes godt om
Ny brugerNybegynder
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.