Suche nach als

Diashow manuell/auto

Auf dieser Seite:

biefer.com Diashow

Diese Diashow bedingt, dass alle Bilddateinamen durchnummeriert sind. Die Dateiendung kann jpg oder gif sein, aber innerhalb einer Show immer die Gleiche. Die Anzahl Bilder ist beliebig, muss aber bekannt sein. Zusätzliche Funktionalitäten umfassen einen Preload und die manuelle Bedienung. Die Diashow kann begutachtet werden auf biefer.com.

Bedingungen damit diese Funktionen funktionieren:
Funktionsaufruf diaIgnition() im Bodytag onload, mit den Parametern: TotalAnzahlBilder und Dateiendung.
Alle Bilder im Unterordner 'images' sind durchnummeriert, beginnend mit 1 (nicht zweistellig beginnen).
Das Urbild muss name='myPicture' haben.
Dieses Script kann extern sein und dann eingebunden werden.

Die globalen Variablen initialisieren und empfangen

// initialisieren von Variablen
imgtot = 10;
imgend = "gif";
i = 1;
flag="play";

// empfangen von Variablen
function diaIgnition(tot,end) {
  imgtot = tot;
  imgend = end;
  diaAuto();                  // starten der eigentlichen diashow funktion
 }

Die Funktion ist kurz und knackig

setTimeout();

function diaAuto() {
  document.myPicture.src = "images/"+i+"."+imgend;
  if (i < imgtot) {           // solange die Variable i kleiner ist als die Bildzahl
    i += 1;                   // rechne zu i 1 dazu
  } else {                    // sonst, also nach dem letzten Bild
    i = 1;                    // wird die Variable i wieder auf 1 gesetzt
  }
  thisPic = i; // aktuelles Bild für Manuelle Diashow
  if (flag=="play") {
    setTimeout("diaAuto()",2000); // zeitliche Verzögerung um Millisekunden
  }
}	// END Funktion 'diaAuto()'

Stopper und Starter

eine Flag setzen

// Stop Automatische Diashow
function stopper() {
  showhide ();
  flag="stop";
  i -= 2;
  diaAuto();
 }

// Start Automatische Diashow
function starter() {
  showhide ();
  flag="play";
//  i -= 1;
  diaAuto();
 }

Manuelle Diashow

function diaManu(direction) {
	if (document.images) {
		thisPic = thisPic + direction;
		if (thisPic > imgtot) {
			thisPic = 1;
		}
		if (thisPic < 1) {
			thisPic = imgtot;
		}
		document.myPicture.src= "images/"+thisPic+"."+imgend;;
		i=thisPic; // aktuelles Bild für Automatische Diashow
	}
}

Verstecken / zeigen der Manuellen Bedienung

document.getElementById

function showhide () {                // start function
  if (document.getElementById) {      // start if browser knows DOM
    if (document.getElementById("pause").style.display == "inline") {
      document.getElementById("pause").style.display = "none";
      document.getElementById("play").style.display = "inline";
    }
    else if (document.getElementById("pause").style.display == "none") {
      document.getElementById("pause").style.display = "inline";
      document.getElementById("play").style.display = "none";
    }
  } // end if browser
} // end function

Preloader

new Image()

<script type="text/JavaScript">
var anzahl = imgtot;                  // eine Variable anzahl bekommt den Wert von der globalen Variablen imgtot
bild = new Array(anzahl);             // ein Array für Bilder wird bereitgestellt
for (j=1; j <= anzahl; j++) {         // j ist 1; solange j kleiner als anzahl ist; zähle 1 hinzu (j weil i weiter oben schon besetzt wurde)
bild[j] = new Image();                // Image-Objekte Konstruktor
/* die Objekte bekommen nun eine Quellenangabe: Ordnerpfad+Bildnummer+Endung */
bild[j].src = "showxy/"+ j + imgend;  // imgend ist die zweite globale Variable
 }
</script> 

The show must go on

Die Diashow wird durch den Eventhandler angestossen, als Parameter werden die TotalAnzahlBilder und die Dateiendung mitgegeben:
<body onLoad="diaIgnition(15,'jpg');">

Der HTML Code für die Bedienung:

<span id="pause" style="display:inline"> | <a href="javascript:stopper()">Manuelle Bedienung</a> |</span>
<span id="play" style="display:none"><a href="javascript:diaManu(-1)"><< Back</a> 
| <a href="javascript:starter()">Play</a> 
| <a href="javascript:diaManu(1)">Next >></a></span>

Der HTML Code für das Bild:
<img class="diashow" name="myPicture" src="showxy/1.jpg" width="600" height="450" alt="Slideshow">


Valid XHTML 1.0 Check den Code.

forms: >> << Diashow Manuell
Ich bin hier: > JavaScript Lehrling >>> Diashow manuell/auto
 
HTML und XHTML | CSS | JavaScript und DHTML | PHP und MySQL | Andere Sprachen
Letzter Update: 29.01.2010