Avatar billede krel Nybegynder
19. april 2008 - 13:43 Der er 10 kommentarer

mappe vs. filnavn

Hey eksperter?

Postede nedenstående spm i kategorien JacaScript hvorefter jeg fik advide at det ikke kunne lade sig gøre med JS.

Derfor prøver jeg nu lykken her i stedet? - altså en funktion der kan det samme som nedenstående blot med den ændring at man i stedet for at skulle skriv hver enkelt filnavn kan skive en mappe og så tages alle (billed)filer i denne mappe med automatisk..

Spørgsmål:
Jeg har fundet dette script der preloader billeder på ens hjemmeside.. det eneste jeg syns er knapt så godt er at man skal indtaste hver enkelt billedsti som skal preloades.. så tænkte om man ikke kunne angive en mappe i stedet for - både fordi man skal en hel del (for mit vedkommende) og så også når man tilføjer billeder til evt. gallerier ville det være meget nemmere hvis det bare var en mappe og ikke hver enkelt fil destination?

koden ser på nuværende tidspunkt sådan her ud:
#head
<script language="JavaScript1.1">
var locationAfterPreload = "index.asp" // URL of the page after preload finishes
var lengthOfPreloadBar = 100 // Length of preload bar (in pixels)
var heightOfPreloadBar = 1 // Height of preload bar (in pixels)
// Put the URLs of images that you want to preload below (as many as you want)
var yourImages = new Array()
if (document.images) {
var dots = new Array("mappe/fil.type","mappe/fil.type","osv","osv")
dots[0] = new Image(1,1)
dots[0].src = "grafik/load/black.gif" // default preloadbar color (note: You can substitute it with your image, but it has to be 1x1 size)
dots[1] = new Image(1,1)
dots[1].src = "grafik/load/blue.gif" // color of bar as preloading progresses (same note as above)
var preImages = new Array(),coverage = Math.floor(lengthOfPreloadBar/yourImages.length),currCount = 0
var loaded = new Array(),i,covered,timerID
var leftOverWidth = lengthOfPreloadBar%coverage
}
function loadImages() {
for (i = 0; i < yourImages.length; i++) {
preImages[i] = new Image()
preImages[i].src = yourImages[i]
}
for (i = 0; i < preImages.length; i++) {
loaded[i] = false
}
checkLoad()
}
function checkLoad() {
if (currCount == preImages.length) {
location.replace(locationAfterPreload)
return
}
for (i = 0; i <= preImages.length; i++) {
if (loaded[i] == false && preImages[i].complete) {
loaded[i] = true
eval("document.img" + currCount + ".src=dots[1].src")
currCount++
}
}
timerID = setTimeout("checkLoad()",10)
}
</script>

#body
<script language="JavaScript1.1">
if (document.images) {
var preloadBar = ''
for (i = 0; i < yourImages.length-1; i++) {
preloadBar += '<img src="' + dots[0].src + '" width="' + coverage + '" height="' + heightOfPreloadBar + '" name="img' + i + '" align="absmiddle">'
}
preloadBar += '<img src="' + dots[0].src + '" width="' + (leftOverWidth+coverage) + '" height="' + heightOfPreloadBar + '" name="img' + (yourImages.length-1) + '" align="absmiddle">'
document.write(preloadBar)
loadImages()
}
</script>

mvh.
Kristian
Avatar billede olebole Juniormester
19. april 2008 - 14:08 #1
<ole>

Helt simpelt kunne det se sådan ud:

<%
Dim oFso, oFolder, sArr
Set oFso = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFso.getFolder("c:/") ' Sæt selv den korrekte folder
For Each oFile in oFolder.files
    sArr = sArr & """" & oFile.Name & ""","
Next
sArr = Left(sArr, Len(sArr)-1)

Response.Write "var dots = new Array(" & sArr & ");"
Set oFso = null
Set oFolder = null
Set oFile = null
%>

/mvh
</bole>
Avatar billede olebole Juniormester
19. april 2008 - 14:11 #2
- og koden sætter du ind i stedet for linjen:
    var dots = new Array("mappe/fil.type","mappe/fil.type","osv","osv")
Avatar billede olebole Juniormester
19. april 2008 - 14:19 #3
Ups ... stien skal jo med i array'et:

<%
Dim sFolder, oFso, oFolder, sArr
sFolder = "C:/" ' Sæt selv den korrekte sti
Set oFso = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFso.getFolder(sFolder)
For Each oFile in oFolder.files
    sArr = sArr & """" & sFolder & oFile.Name & ""","
Next
sArr = Left(sArr, Len(sArr)-1)

Response.Write "var dots = new Array(" & sArr & ");"
Set oFso = null
Set oFolder = null
Set oFile = null
%>
Avatar billede krel Nybegynder
19. april 2008 - 14:23 #4
heey ole ;)

nu skriver du c:/ altså er det navnet på serveren..

kan faktisk ikke huske hvad det hedder, men er der ikke en response.write(noget kode) der kan angive sti på en given fil så kunne jeg jo liggen den i billed mappen og wupti få stien`???
Avatar billede krel Nybegynder
19. april 2008 - 14:27 #5
har oprette et nyt spm nu med point og for ikke at blande sammen:
http://www.eksperten.dk/spm/828450

/kristian
Avatar billede krel Nybegynder
19. april 2008 - 14:27 #6
^^^^
har gang i for mange ting... glem ovenstående indlæg (19/04-2008 14:27:12)
Avatar billede krel Nybegynder
19. april 2008 - 14:48 #7
hmm siden 'tænker' kort og så står der done / udført i statusbaren... men der er ingen load_status_bar at se og der directes heller ikke til index...
Avatar billede olebole Juniormester
19. april 2008 - 17:18 #8
Her:
    sFolder = "C:/" ' Sæt selv den korrekte sti

- sætter du den korrekte sti. Det er vist i dit tilfælde 'mappe/' ... hvis array'et i dit eget script holder stik.

Højreklik i dokumentet og se sidens kildekode, så du kan se, hvad ASP skriver ud i dokumentet. Det må kunne give en idé om, hvad der evt. skal rettes  ;o)
Avatar billede krel Nybegynder
19. april 2008 - 17:28 #9
ok jeg prøver skal der være en sidste / (slash) efter den konkrete mappe
# mappe/mappe/mappe/mappen_der_er_billeder_i
eller blot ende med en mappe
#mappe/mappe/mappe/mappen_der_er_billeder_i/
Avatar billede krel Nybegynder
19. april 2008 - 17:45 #10
ARHA!
tror jeg har fundet en fejl fra min side og da jeg ikke er HAJ til de koder her kan jeg ikke se om det skulle ha noget at sige men det skulle være linien:

var yourImages = new Array(("mappe/fil.type","mappe/fil.type","osv","osv")

og ikke

var dots = new Array("mappe/fil.type","mappe/fil.type","osv","osv") som bare er var dots = new Array()

??
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
Kurser inden for grundlæggende programmering

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