Avatar billede radio-tv Nybegynder
03. september 2002 - 14:32 Der er 29 kommentarer og
1 løsning

vis billeder fra mappe

Hejsa alle sammen, håber i kan hjælpe mig med at bygge et script.... tja hjælpe og hjælpe, for jeg på bar barbund hvad JS angår, så det er nok en af jer der må tage den tunge ende ;-)


et script der kan vise billeder fra en mappe, og vise billederne i 2 rækker med 5 billeder i hver. men der kan snildt være flere billederne i mapperne, de skal så vises på skift i de forskillige "rum" for en idé om hvad jeg tænker på, så se på http://www.maersk.dk/ men her er der også vide felter, det skal der højst være et af. Det skal fade ind og ud på samme måde som på siden.

Når der klikkes på et billedet, skal der åbnes et nyt vindue, hvor billedet bliver vis i stort format.

Takker og bukker, håber i kan hjælpe.
Avatar billede Slettet bruger
03. september 2002 - 17:13 #1
For at finde filerne i din mappe, skal du bruge et server-side sprog. Gå over i ASP/PHP-kategorien og få en dér til at fylde stierne på billederne ind i et array således:

billeder = new Array("sti/billede1.gif", "sti/billede2.gif", "sti/billede3.gif"); //osv.

Derefter kan vi måske hjælpe dig i denne kategori! :)
Avatar billede radio-tv Nybegynder
04. september 2002 - 00:20 #2
oki det klare jeg så selv, kan klare det i php, ;-) Kan du vise mig hvordan man gør det der efter bare forstil dig at alle fx 20 billeder er der.

Tak
Avatar billede Slettet bruger
04. september 2002 - 13:55 #3
Det dér med fade bliver du nok nødt til at leve uden, indtil en anden dukker op. Det bliver simpelthen for kompliceret lige i øjeblikket.
Men hvad hvis der fx var 17 billeder? Hvordan skulle de så vises i 2 rækker med 5 billeder i hver? Hvilke billeder skulle fade/skifte?
Avatar billede Slettet bruger
04. september 2002 - 14:00 #4
Jeg kan nok alligevel godt få den til at fade. Hvis du beder pænt! :)
Men kun i IE.
Avatar billede radio-tv Nybegynder
05. september 2002 - 00:39 #5
Please *ss* tigge tigge ;-)
Hvis der er 17.... tja der skal staidvæk kun være de 10 "kasser", men så bare skifte tilfældigt i mellem dem....

/Tak.
Avatar billede Slettet bruger
05. september 2002 - 13:14 #6
Jeg skal bruge lidt mere information. Det dér med at skifte tilfældigt er ikke helt godt nok.
Skal kasserne skifte imellem to eller flere billeder? Eller hvad?
Avatar billede radio-tv Nybegynder
05. september 2002 - 19:15 #7
Det skal også være tilfældigt hvilke af kasserne der bliver udskiftet, bare helst ikke den samme kasse flere gange efter hinnanden.

Nej der skal ikke "bare" skiftes mellem 2 billeder i hver kasse, det skal være tilfældigt hvor de forskillige billeder dukker op, men det samme billedet må ikke være i flere kasser.

/Tak ;-)
Avatar billede Slettet bruger
06. september 2002 - 13:27 #8
Jeg er stadig lidt forvirret, men jeg vender tilbage med et forslag!
Avatar billede Slettet bruger
06. september 2002 - 13:52 #9
Det bliver lidt senere...
Avatar billede Slettet bruger
06. september 2002 - 16:52 #10
OK, her er første udkast:
http://phoenixv.h4f.dk/radio-tv/
Jeg har endnu ikke puttet fade-effekten på endnu, da jeg lige vil se, om det er det, du forestiller dig!
Avatar billede radio-tv Nybegynder
06. september 2002 - 17:59 #11
Jepper lige precis ;-) ...

Men også gerne hvor man kan klikke på billedet og få det i stortformat.

Jeg har en ting mere, hvis der er alt for besværligt skal du ikke gøre det * ;-) Nå man har klikket på billedet og det er i stort format, så en "forrige og næste knap"... Men kun hvis du ved ;-)

Men ellers ser det rigtigt fedt ud...

Tak ind til viderer.
Avatar billede Slettet bruger
06. september 2002 - 18:14 #12
Jeg kigger på det i morgen. Jeg har lidt travlt nu!
Avatar billede Slettet bruger
06. september 2002 - 18:14 #13
Forrige- og næste-knappen kan du jo selv lave i PHP.
Avatar billede Slettet bruger
07. september 2002 - 11:06 #14
OK, nu åbner billederne i et nyt vindue:
http://phoenixv.h4f.dk/radio-tv/
Forrige- og næste-knappen kan du selv lave i PHP. Så skal min kode også laves lidt om. Jeg foreslår, at du laver en side, der hedder "visbill.php", og så kan mit script sende billedets url med som variabel, fx:
visbill.php?url=http://phoenixv.h4f.dk/radio-tv/1.gif
Så skal visbill.php udskrive billedet og samtidig læse i din mappe, hvad det næste og det forrige billede i rækken hedder. Derefter skal PHP udskrive to links, der peger hen på disse to billeder.

Fade-effekten lægger jeg som sagt først på til sidst, da det bliver lidt af et mas, tror jeg!
Avatar billede Slettet bruger
07. september 2002 - 11:16 #15
visbill.php?url=http://phoenixv.h4f.dk/radio-tv/bill1.gif

... mente jeg.
Avatar billede Slettet bruger
07. september 2002 - 11:32 #16
Nu har jeg også lagt fade-effekten på. Det var ikke spor besværligt! :)
Avatar billede Slettet bruger
07. september 2002 - 11:34 #17
I IE vil billederne fade, i alle andre browsere vil de bare skifte normalt!
Avatar billede radio-tv Nybegynder
10. september 2002 - 12:38 #18
Det er helt perfekt ;-) Tak for det phoenixv.

Tillad mig at post scriptet her, så jeg også kan finde det en anden gang.

/Tak
Avatar billede radio-tv Nybegynder
10. september 2002 - 12:38 #19
<html>
<head>
<style>
.fade {
filter: blendTrans(duration=1); //Duration = varighed i sekunder
}
</style>
<script>
billeder = new Array("bill1.gif", "bill2.gif", "bill3.gif", "bill4.gif", "bill5.gif", "bill6.gif", "bill7.gif", "bill8.gif", "bill9.gif", "bill10.gif", "bill11.gif", "bill12.gif", "bill13.gif", "bill14.gif", "bill15.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 < 10; 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, 3000);
}

function tilf() {
do
rand = Math.floor(Math.random() * 10);
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 < 10; i++)
if (plac[i] == nr)
return true;
return false;
}
</script>
</head>
<body onLoad="if (billeder.length > 10) setTimeout(shuffle, 3000);">
<table cellpadding="3" cellspacing="0">
<tr>
<script>
for (i = 0; i < 10; i++) {
if (i == 5)
document.write('</tr><tr>');
document.write('<td><a href="#" onFocus="if (this.blur) this.blur();" onClick="window.open(document.images[\'bill' + i + '\'].src, \'win' + i + '\'); return false;"><img src="' + billeder[i] + '" border="0" name="bill' + i + '" class="fade"></a></td>');
}
</script>
</tr>
</table>
</body>
</html>
Avatar billede Slettet bruger
10. september 2002 - 14:29 #20
Tak for point!

Jeg har lige lavet en lille rettelse til scriptet. Se den samme url.
Avatar billede radio-tv Nybegynder
10. september 2002 - 19:02 #21
Selv tak, Når jeg nu sidder og lege lidt med det, kom jeg til at tænke på, nå alle billederne ligger i array'et kan man så ikke lave det, så det ikke tager højde for hvad billederne hedder længerer nede i scriptet.

Fordelene ville være at php startede med at liste dem, og man kunne lade filnavnet være beskrivelse for billedet ved tryk.
Avatar billede radio-tv Nybegynder
11. september 2002 - 08:56 #22
Og en lille ting mere, kan man gøre således at når den har vist de første billeder, fra 1 - 10, at den derefter vælger blandt resten, så bill1 - bill10, ikke bliver vist mere.
Avatar billede Slettet bruger
11. september 2002 - 15:34 #23
Jeg forstår ikke helt din første kommentar.

Mht. den anden, mener du så, at alle billeder kun skal vises én gang?
Avatar billede radio-tv Nybegynder
11. september 2002 - 19:09 #24
nej kun de billeder der bliver listet i første omgang, altså billedet 1 til og med 10, skal kun vises engang.

jeg har leget lidt med det, men javascript er ikke min stærke side, så jeg klarede problemet i første omgang på denne måde:

function shuffle() {
tal = tilf();
tal2 = tilf2();
if (tal2 < 10) {tal2 = tal2 + 10;}
if (document.all)
document.images["bill" + tal].filters.blendTrans.apply();
document.images["bill" + tal].src = bp[tal2].src;
...
..
.

Med hensyn til det første spm, var istedet for at kalde billederne for
new Array("bill1.jpg", "bill2.jpg", "bill3.jpg", "bill4.jpg", "bill5.jpg"

Kunne man så ikke give dem navne så som
new Array("huset_paa_bakken.jpg", "billen.jpg", "sofaen.jpg", "1653.jpg", "eksperten.jpg"
Avatar billede radio-tv Nybegynder
11. september 2002 - 19:24 #25
Hmmm jeg kan jo allerade kalde billederne hvad jeg vil.... Beklager *gg* Havde prøvet engang, det virkede åbentbart bare ikke.

*Beklager*
Avatar billede radio-tv Nybegynder
12. september 2002 - 11:55 #26
men ved du hvad jeg kan gøre istedet for:
if (tal2 < 10) {tal2 = tal2 + 10;}

Det vil jo ikke blive tilfældigt så
Avatar billede Slettet bruger
12. september 2002 - 16:20 #27
Skift funktionen tilf2 ud med dette:

function tilf2() {
do
rand = Math.floor(Math.random() * billeder.length);
while (erUde(rand) || rand < 10);
return rand;
}
Avatar billede Slettet bruger
12. september 2002 - 16:20 #28
Og husk så lige at slette det, du havde lavet.
Avatar billede kappel Nybegynder
19. november 2003 - 13:59 #29
Har læst dit spørgsmål - det er lige hvad jeg leder efter.
Hvordan ser det endelige script ud - vil evt. sende det til mig?
mikkel@kappels.net

/kappel
Avatar billede cybermaster Nybegynder
19. marts 2005 - 14:13 #30
Kunne ikke lige få det til at virke

men nu skulle den være der

<html>
<head>
<style>
.fade {
filter: blendTrans(duration=1); //Duration = varighed i sekunder
}
</style>
<script>
billeder = new Array("bill1.jpg", "bill2.jpg", "bill3.jpg", "bill4.jpg", "bill5.jpg", "bill6.jpg", "bill7.jpg", "bill8.jpg", "bill9.jpg", "bill10.jpg", "bill11.jpg"); //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 < 10; 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, 3000);
}

function tilf() {
do
rand = Math.floor(Math.random() * 10);
while (rand == foer);
foer = rand;
return rand;
}

function tilf2() {
do
rand = Math.floor(Math.random() * billeder.length);
while (erUde(rand) || rand < 10);
return rand;
}

function erUde(nr) {
for (i = 0; i < 10; i++)
if (plac[i] == nr)
return true;
return false;
}
</script>
</head>
<body onLoad="if (billeder.length > 10) setTimeout(shuffle, 3000);">
<table cellpadding="3" cellspacing="0">
<tr>
<script>
for (i = 0; i < 10; i++) {
if (i == 5)
document.write('</tr><tr>');
document.write('<td><a href="#" onFocus="if (this.blur) this.blur();" onClick="window.open(document.images[\'bill' + i + '\'].src, \'win' + i + '\'); return false;"><img src="' + billeder[i] + '" border="0" name="bill' + i + '" class="fade"></a></td>');
}
</script>
</tr>
</table>
</body>
</html>
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