Avatar billede zombien Juniormester
10. januar 2009 - 14:28 Der er 5 kommentarer og
1 løsning

Oprette et array, ud fra filer i en mappe

Hej Eksperter...

Jeg programmere til dagligt i asp, og er startet så småt med at kigge lidt på noget javascript, men har nu mine problemer med det, så håber lidt i kan hjælpe mig i dette filfælde

jeg har en mappe, hvor der ligger x antal billeder
dette vil jeg gerne have mit javascript til at oprette et array der indeholder alle filnavne

lige nu har jeg det sådan her

var ImageArr1 = new Array("billeder/malerier/las2.jpg","billeder/malerier/las4.jpg","billeder/malerier/las3.jpg","billeder/malerier/las5.jpg");

hvor jeg selv har været inde at definere, men det er jo ikke optimalt når man fjerner nogen af billederne fra mappen :D

nogen der har en måde jeg kan gøre dette på???
mappen er som i kan se en fast position
Avatar billede roenving Novice
10. januar 2009 - 15:51 #1
Læs mappen med asp og opret så dit array (også i asp), f.eks. på denne vis (pseudokode !-)


<script type="text/javascript">
var ImageArr1 = [
<%
filArray = læs mappens billeder med FileSystemObject
for i = 1 to filArraysLængde - 1
  print "'" & filArray(i) & "',"
next
print "'" & filArray(filArraysLængde) & "'"
%>
];
//resten af dit javascript ...
Avatar billede zombien Juniormester
10. januar 2009 - 18:20 #2
og hvordan vil du få den til at loope igennem alle finder i den pågældende mappe
syntes ikke umiddelbart jeg kan få det til at virke :S
Avatar billede majbom Novice
11. januar 2009 - 10:04 #3
$files = glob("billeder/malerier/*");

$files er nu et array med alle filer og mapper i  mappen "malerier"
Avatar billede zombien Juniormester
11. januar 2009 - 12:30 #4
okay, den fanger ingen billeder ved den $files = glob("billeder/malerier/*");
for at sige den slet ikke engang fanger siden :S

min kode ser sådan her ud

<script language="JavaScript">

var $files = glob("billeder/malerier/*");

var ImageHolder1 = document.getElementById('Rotating1');
 
function RotateImages(whichHolder,Start)
{
var a = eval("$files"+whichHolder);
var b = eval("$files"+whichHolder);
if(Start>=a.length)
Start=0;
b.src = a[Start];
window.setTimeout("RotateImages("+whichHolder+","+(Start+1)+")",7500);
}
 
RotateImages(1,0);
</script>
Avatar billede olebole Juniormester
11. januar 2009 - 14:20 #5
<ole>

- og det, der implicit ligger i begge kommentarer, er, at du ikke kan bladre en mappe igennem med JavaScript. Hvis du skal bruge et JS-array med mappens indhold, skal arrayet laves af et serversprog som PHP eller VBS under ASP

/mvh
</bole>
Avatar billede majbom Novice
11. januar 2009 - 21:10 #6
ja, det er mig der er en kegle, jeg var lige for hurtig dér...

mit script bliver jo bygget op vha php (der er jo osse $foran min "files") - godnat :S
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