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