# automatischer Bilderwechsel



## Skyfire (18. Jan 2005)

Hallo Leute,

Ich habe eine Internetseite erstellt, auf der 5 Bilder sind. Ich habe in dem Ordner der Seite noch weitere 45 Bilder und hätte gerne, dass jedesmal, wenn ich die Seite öffne ein anders Bild zufällig aus diesem Ornder angezeigt wird. Für das erste Bild sollen aus den Bildern 01-10 für das Zweite aus den Bildern 11-20 gewählt werden u.s.w.

Ich habe leider überhaupt keinen Plan von Java und hoffe jemand kann mir helfen. Auf der Seite www.evangelion-armageddon.de ist eine Lösung zu sehen, ich verstehe aber nichts vom Programmcode.  :roll:


----------



## foobar (18. Jan 2005)

Java != JavaScript


----------



## Skyfire (18. Jan 2005)

Java ungleich JavaScript? Wie gesagt ich hab keinen Plan  :roll:


----------



## offtake (24. Jan 2005)

Hi,

ist zwar nicht genau das was du suchst und auch nur teilweise Javascript (auch php), aber da kannste ja recht leicht nen Zufalls-generator reinbauen.. Schon länger her das ich das geschreiben habe, aber sollte dir als guter Ansatz helfen, du musst es sogar nichtmal angeben wenn ein neues Bild hinzukommt, das erkennt der selber... musste halt nur umbauen...

Ist zu bewundern auf www.bio-films.com unter Bild der Woche...

Bilder liegen beim Beispiel in /images/photos und heissen alle "n_bdw_**" ** = 0-99


```
<HTML>
<HEAD>
<TITLE>Bild der Woche</TITLE>
<?
$path='images/photos/n_bdw_';
$n=0;
for ($i=0; $i<99; $i++)
{
	$urls = Array();
	$urls[] = $path.$n.'.jpg'; 
	
	foreach($urls as $url) 
	{
	   $ret = file_exists($url);
	   if ($ret===true)
	   { 
	   	$n++;
	   }
	   elseif ($ret===false)
	   { 
	   	$i=99; 
	    }
	   else
	   {
	   	echo "error code: ".$ret; 
	   }
 	}
}
?> 

<SCRIPT language="JavaScript">
<!--
 r=<? echo $n; ?>;
 x=r-1;
 var b=new Array();
 for(i=0;i<r;i++)
 b[i]=new Image();
<?
$m=0;
$w=$n;
for ($e=0; $e<$n; $e++)
{
	if ($m==0)
	{
		print "b[".$m.'].src="'.$path."0".".jpg".'";';
		print "\n";	
	}
	else
	{			
		print "b[".$m.'].src="'.$path.$w.".jpg".'";';
		print "\n";
	}
	$m++;
	$w--;
}
?>
 var n=0;

 function a1()
 {
  n=0;
  document.images[0].src=b[n].src;
 }
 function a2()
 {
  if(n>0)
   n--;
  document.images[0].src=b[n].src;
 }
 function a3()
 {
  if(n<x)
  n++;
  document.images[0].src=b[n].src;
 }
 function a4()
 {
  n=x
  document.images[0].src=b[n].src;
 }
 //-->
</script>
</HEAD>

<BODY text=#ffffff vLink=#ffffff aLink=#ffffff link=#ffffff bgColor=#adaebd>
<center>
[img]images/photos/n_bdw_0.jpg[/img]


<FONT size="2" face="Verdana">
<form>
 <input type=button value="Anfang" onClick="a1()">
 <input type=button value="Zurück" onClick="a2()">
 <input type=button value="&&&Vor&&&" onClick="a3()">
 <input type=button value="&&Ende&&" onClick="a4()">
 

 <input type="button" value="&&&&&&&&&&&Fenster schließen&&&&&&&&&&&&" onclick="top.close()">


<FONT size="1" face="Verdana">
<?
$file = "images/photos/n_bdw_0.jpg";
$lastmod = date("d.m.Y", filemtime($file)) . " um " . date("H:i", filemtime($file));
echo "
Fotos insgesamt: $n


Letzte Aktualisierung am " . $lastmod . " Uhr.
";
?>
</FONT>
</form>
</center>
</BODY>

</HTML>
```

Vielleicht hilft es dir ja, kannste ruhig dran rumbauen wie du willst... kannst dir ja auch mal den Quellcode anschauen auf der Page, dann siehste was das PHP da gebaut hat auch recht deutlich...


Cu, 
Offtake


----------



## Skyfire (21. Feb 2005)

Danke für den Tipp. Die Seite sieht ziemlich klasse aus, hast du die gemacht?

Ich weis leider nicht wo ich den Zufallsgenrator rein machen kann, geschweigeden wie ich ihn überhaupt programmiere.... (Hab das mal vor ein paar Jahren in der Schule in C++ und *würg* Visual Basic *würg* gemacht aber das ist schon zu lang her. Bitte um Hilfe.  :autsch:

-----------------------------------
Nachtrag
-----------------------------------
Also ich habe jetzt eine Java Lösung gefunden. Gibt leider ein paar Probleme unter Windows XP - Service Pack 2. Um diese zu vermeiden kann man die Seite aber bei den "Popupblockereinstellungen" hinzufügen. Dann klappt datt!

Zudem ist mein Lösung für 5 Bilder wobei jedes Bild zwischen einen von 10 Bildern wählt . Ist zwar nicht perfekt aber für meine Zwecke reicht es vollkommen:


```
<html>
<head>
<script type="text/javascript">
var bilder1 = new Array(
    '1.jpg',
    '2.jpg',
    '3.jpg',
    '4.jpg',
    '5.jpg',
    '6.jpg',
    '7.jpg',
    '8.jpg',
    '9.jpg',
    '10.jpg'
);

var bilder2 = new Array(
    '11.jpg',
    '12.jpg',
    '13.jpg',
    '14.jpg',
    '15.jpg',
    '16.jpg',
    '17.jpg',
    '18.jpg',
    '19.jpg',
    '20.jpg'
);

var bilder3 = new Array(
    '21.jpg',
    '22.jpg',
    '23.jpg',
    '24.jpg',
    '25.jpg',
    '26.jpg',
    '27.jpg',
    '28.jpg',
    '29.jpg',
    '30.jpg'
);

var bilder4 = new Array(
    '31.jpg',
    '32.jpg',
    '33.jpg',
    '34.jpg',
    '35.jpg',
    '36.jpg',
    '37.jpg',
    '38.jpg',
    '39.jpg',
    '40.jpg'
);

var bilder5 = new Array(
    '41.jpg',
    '42.jpg',
    '43.jpg',
    '44.jpg',
    '45.jpg',
    '46.jpg',
    '47.jpg',
    '48.jpg',
    '49.jpg',
    '50.jpg'
);

var anzahl = bilder1.length;
var nr = Math.floor(Math.random()*anzahl);
document.write('

[img]Bilder-Dateien/'+bilder1[nr]+'[/img]');

var anzahl = bilder2.length;
var nr = Math.floor(Math.random()*anzahl);
document.write('[img]Bilder-Dateien/'+bilder2[nr]+'[/img]');

var anzahl = bilder3.length;
var nr = Math.floor(Math.random()*anzahl);
document.write('[img]Bilder-Dateien/'+bilder3[nr]+'[/img]');

var anzahl = bilder4.length;
var nr = Math.floor(Math.random()*anzahl);
document.write('[img]Bilder-Dateien/'+bilder4[nr]+'[/img]');

var anzahl = bilder5.length;
var nr = Math.floor(Math.random()*anzahl);
document.write('[img]Bilder-Dateien/'+bilder5[nr]+'[/img]<\/p>');
</script>
</head>

<body>
<noscript>


[img]Bilder-Dateien\1.jpg[/img]</p></noscript>
</body>
</html>
```


----------

