Hi, ik ben een totale noob in Javascript maar ik heb het volgende scriptje:


<script language="JavaScript1.1">
<!--
var slidespeed=3000 // snelheid in milliseconden

//verander hieronder de namen van de foto's
var slideimages=new Array("01.jpg","02.jpg","03.jpg","04.jpg")
//specificeer de foto's achtereenvolgns met de gewenst url
var slidelinks=new Array("http://www.link.nl","http://www.link.nl","http://www.link.nl","http://www.link.nl")

var imageholder=new Array()
var ie55=window.createPopup
for (i=0;i<slideimages.length;i++){
imageholder[i]=new Image()
imageholder[i].src=slideimages[i]
}

function gotoshow(){
window.location=slidelinks[whichlink]
}

//-->
</script>


Is het mogelijk om met PHP een map + submappen in te lezen waar de foto's in staan. En dat in de array te zetten ipv dat dit hand mating moet? Of kun je geen php gebruiken in JS?

Mvg Pepijn
Proberen kan geen kwaad.
PHP = ServerSide
Javascript = ClientSide

Wat wil zeggen: Javascript wordt pas gemaakt als PHP klaar is, dus je kan gewoon PHP de javascript laten uitspugen, en dus ook de foto's in de JS array zetten.
bump
http://www.php.net/readdir

Hier kan je informatie vinden over hoe je in php een map uit kan lezen. Staan voorbeeldjes bij. Je JavaScript had je al, dus je moet alleen zorgen dat de foto's in die array komen te staan. Dit doe je door de php waarden in je javascript te echo'en.

Verder gebruik je is_dir() om te bepalen of een gevonden item in een map een directory is. Deze kan je daarna ook uit gaan lezen.
Dus ik kan gewoon javascript afsluiten en dan verder gaat met php? Net zoals php en html?
Ja hoor, probeer maar ;-)
k heb wel een systeem die leest de dingen uit de map en zet ze in een soort gallery moet je der alleen een slideshow omheen bouwen..
hier de link en de download:
http://moli.awardspace.com/
Heren, ik heb nu dit:


<?php
//eerst de array aanmaken
$bestanden       = array();
$link			 = array();
$map             = 'pictures/';

if ($handle = opendir($map)) {
    /* Dit is de juiste manier om door een directory te wandelen. */
    while (false !== ($file = readdir($handle)))
	
	 {
        $bestanden[]= $file;
    }
}
?>

<html>
<head>
<script language="JavaScript1.1">
<!--
var slidespeed=3000 // snelheid in milliseconden

//verander hieronder de namen van de foto's
var slideimages=new Array<?php echo $bestanden; ?>
//specificeer de foto's achtereenvolgns met de gewenst url
var slidelinks=new Array("link.htm")

var imageholder=new Array()
var ie55=window.createPopup
for (i=0;i<slideimages.length;i++){
imageholder[i]=new Image()
imageholder[i].src=slideimages[i]
}

function gotoshow(){
window.location=slidelinks[whichlink]
}

//-->
</script>
</head>
<body>

<p align="center">
<a href="javascript:gotoshow()"><img src="<?php echo $map.$bestanden[0]; ?>" name="slide" border=0 style="filter:progid:DXImageTransform.Microsoft.Pixelate(MaxSquare=15,Duration=1)" width="271" height="177"></a>

<script language="JavaScript1.1">
<!--
var whichlink=0
var whichimage=0
var pixeldelay=(ie55)? document.images.slide.filters[0].duration*1000 : 0
function slideit(){
if (!document.images) return
if (ie55) document.images.slide.filters[0].apply()
document.images.slide.src=imageholder[whichimage].src
if (ie55) document.images.slide.filters[0].play()
whichlink=whichimage
whichimage=(whichimage<slideimages.length-1)? whichimage+1 : 0
setTimeout("slideit()",slidespeed+pixeldelay)
}
slideit()

//-->
</script>
</body>
</html>


Echter spuigt hij niks uit bij $bestanden. Heb ik het javascript zo goed onderbroken?

Wie kan mij weer wat verder helpen?
@baarr,

Dan kan ik dat mooi in een loopje zetten! ideaal. Ik ga het gelijk proberen.
@baarr, ik heb het nu in een loopje staan. Alleen hoe roep ik het nu op? Als ik jou source kijk verwijs je naar een div die ik niet in jou css kan vinden.

Reageren