Avatar billede donslund Nybegynder
18. februar 2005 - 16:56 Der er 1 kommentar og
1 løsning

Dynamisk slideshow.

Jeg kan sagtens finde løsninger på hvordan man laver et slideshow. Ex. her: http://eksperten.dk/spm/535930. Men i den alle sammen skal man enten notere hvor mange billeder der er eller skrive navnene på dem i et array.

Hvis jeg nu vil bruge php til at generere dette array fordi jeg ikke ved hvor mange billeder der er og hvad de hedder. Hvordan gør jeg så det?
Avatar billede apache999 Nybegynder
18. februar 2005 - 17:52 #1
Hvis du er så heldig, at billederne ligger i et separat bibliotek (som du kender navnet på eller har fundet frem til dynamisk), kan du jo lave et array bestående af filnavnene fra det bibliotek, og så bruge dem til at danne dit slideshow.

Lad mig vide, om det er en mulighed for dig, for så kan jeg godt sprøjte et kodeeksempel ud.
Avatar billede donslund Nybegynder
18. februar 2005 - 18:02 #2
Jeg fangede den rent faktisk selv. Jeg har alle filnavne i en db med kategorinummer på alle billederne. nedenstående kode virker for mig.

<? include("../config.php"); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
<HEAD>
    <TITLE>SlideShow - MCtorsdagsklubben.dk</TITLE>
<LINK REL="stylesheet" HREF="../style.css" TYPE="text/css">

<SCRIPT type='text/javascript'>

<!-- Begin
// Set slideShowSpeed (milliseconds)
var slideShowSpeed = 5000;
// Duration of crossfade (seconds)
var crossFadeDuration = 3;
// Specify the image files
var Pic = new Array();
// to add more images, just continue
// the pattern, adding to the array below

<?
$hentx="select * from ".$galleri_tbl." where kategori = $cat_id";

// print $hentx;
$koer_hentx=mysql_query($hentx);
$antal = 0;
while($rowx=mysql_fetch_array($koer_hentx)){

print "Pic[".$antal."] = \"galleri/".$rowx[filnavn]."\"\n";
$antal ++;
}


?>



// 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);
}
//  End -->
</script>

</HEAD>
<BODY onLoad="runSlideShow();">

  <img src="images/billede1.jpg" name='SlideShow' width=400 height=300 alt="">
</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