Avatar billede larsi Nybegynder
22. august 2002 - 17:17 Der er 13 kommentarer og
1 løsning

Nem måde at hente billeder til slideshow ?

I et slideshow - som jeg har hentet fra http://www.codelifter.com/main/javascript/slideshow2.html - skal mine billeder indsættes med følgende tekst/koder:

Pic[0] = '100-0001_IMG.JPG'
Pic[1] = '100-0002_IMG.JPG'
Pic[2] = '100-0003_IMG.JPG'
o.s.v.

Spørgsmålet er så, når jeg nu har mange billeder man gerne vil have derud, findes der så en nem løsning ?

Vil man f.eks. kunne nøjes med at indsætte en henvisning, og så blev alle billederne i den pågældende mappe taget automatisk ?
Avatar billede limemedia Nybegynder
22. august 2002 - 17:20 #1
hvis alle billeder er så fint numereret og formateret som
100-0001_IMG.JPG
100-0002_IMG.JPG
100-0003_IMG.JPG
.....
100-0259_IMG.JPG

så kunne man jo lave et script ala
hent "100-"+randomtal mellem 0001 og 0259+"_IMG.JPG"
Avatar billede larsi Nybegynder
22. august 2002 - 17:21 #2
.....og det er noget du vil påtage dig ?
Avatar billede jensgram Nybegynder
22. august 2002 - 17:24 #3
fortsættelse til ljweb:

antalbilleder = [et tal];

for(i = 1; i <= antalbilleder; i++) {
    nr = "000" + i;
    Pic[i] = "100-" + nr.substr() + "_IMG.JPG";
}
Avatar billede larsi Nybegynder
22. august 2002 - 17:24 #4
Problemet er bl.a. også, at når man har taget 100 billeder til en festlig lejlighed, så er det jo ikke altid det er dem alle som er lige vellykket ;-( bob-bob-bob !

Og når jeg så sletter nogle billeder inde midt i det hele, så bliver der jo nogle huller, som jeg derfor bliver nød til at slette - og evt. om-nummerere rækkefølgen igen.

Derfor vil det være rigtigt smart, hvis systemet blot tog hvad der var af billeder i en bestemt mappe - uden hensyntagen til eventuelle "overspring" !
Avatar billede jensgram Nybegynder
22. august 2002 - 17:26 #5
ups, glemte noget i substring()!

antalbilleder = [et tal];

for(i = 1; i <= antalbilleder; i++) {
    nr = "000" + i;
    Pic[i] = "100-" + nr.substring(start, start+4) + "_IMG.JPG";
}
Avatar billede larsi Nybegynder
22. august 2002 - 17:26 #6
>>mr noname

skal jeg blot anbringe koden istedet for den nuværende ?

Og er koden ligeglad med, at billederne ikke er i nr. orden (jeg forstår mig ikke på disse koder).
Avatar billede larsi Nybegynder
22. august 2002 - 17:27 #7
Hvad skal mappen hedder - der hvor billederne skal hentes fra ? Eller skal de bare ligge i samme mappe som .htm filen ?
Avatar billede limemedia Nybegynder
22. august 2002 - 17:28 #8
utestet, men prøv
-----------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Untitled</title>

<script language="JavaScript" type="text/javascript">
<!--
    // (C) 2000 www.CodeLifter.com
    // http://www.codelifter.com
    // Free for all users, but leave in this  header
    // NS4-6,IE4-6
    // Fade effect only in IE; degrades gracefully
   
    // =======================================
    // set the following variables
    // =======================================
   
    // Set slideShowSpeed (milliseconds)
    var slideShowSpeed = 5000
   
    // Duration of crossfade (seconds)
    var crossFadeDuration = 3
   
    // Specify the image files
    var Pic = new Array() // don't touch this
    // to add more images, just continue
    // the pattern, adding to the array below
   
    var p = 17; // amount of images in archive
   
    for (i = 0; i < p; i++){
        Pic[i] = '100-'+ZeroFill(i, 4)+'_IMG.JPG'
    }
   
    // =======================================
    // do not edit anything below this line
    // =======================================
   
    var t
    var j = 0
//    var p = Pic.length
   
    var preLoad = new Array()
    for (i = 0; i < p; i++){
      preLoad[i] = new Image()
      preLoad[i].src = Pic[i]
    }
   
    function runSlideShow(){
      if (document.all){
          document.images.SlideShow.style.filter="blendTrans(duration=2)"
          document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
          document.images.SlideShow.filters.blendTrans.Apply()     
      }
      document.images.SlideShow.src = preLoad[j].src
      if (document.all){
          document.images.SlideShow.filters.blendTrans.Play()
      }
      j = j + 1
      if (j > (p-1)) j=0
      t = setTimeout('runSlideShow()', slideShowSpeed)
    }
   
    function CvtNtoS(iNum) {
        return ("" + iNum);
    }

    /* This function prefixes strings with the correct # of 0's */
    function ZeroFill(iNum, iDigits) {
        var sNum = CvtNtoS(iNum);
        while (sNum.length < iDigits) sNum = "0" + sNum;
        return sNum;
    }
//-->
</script>
</head>

<body onload="runSlideShow()">

<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="VU" height=150 width=150>
<img src="1.jpg" name='SlideShow' width=150 height=150></td>
</tr>
</table>

</body>
</html>
Avatar billede jensgram Nybegynder
22. august 2002 - 17:29 #9
22/08-2002 17:24:55 > så kan vi vist godt se bort fra dette;)

ps: start = nr.length - 4;
Avatar billede limemedia Nybegynder
22. august 2002 - 17:30 #10
javascript kan ikke hente fra din server, det er der ingen mulighed for - så skal du anvende serverside scripting ala php, asp, jsp, perl......

skal du bruge vores løsning skal de ligge i præcis numerisk rækkefølge eller du skal indtaste dem manuelt....

/ LJ
www.ljweb.com
Avatar billede Slettet bruger
23. august 2002 - 15:56 #11
... eller du kan få et server-side sprog til at udskrive fx alle gif-billeder i en given mappe til JavaScriptet.
Avatar billede larsi Nybegynder
24. august 2002 - 13:41 #12
Tja, det virkede godt nok på min arbejdscomputer, men ikke på min private.

Dèr får jeg fejlmeddelelsen "klassen var ikke registreret"

Er det noget som siger jer noget.

Jeg kan dog se, at det ikke har noget med jeres ændringer af programmet at gøre, det var også på originaludgaven.
Avatar billede larsi Nybegynder
24. august 2002 - 13:43 #13
Maskinen påstår det er i min linie 55, hvilket er den tomme linie i nedenstående:

function runSlideShow(){
      if (document.all){
          document.images.SlideShow.style.filter="blendTrans(duration=2)"

          document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
          document.images.SlideShow.filters.blendTrans.Apply()     
      }

Jeg anvender Stones Webwriter hvis det har nogen indflydelse.
Avatar billede Slettet bruger
25. august 2002 - 13:35 #14
Et link ville være bedre.
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