Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Slideshow soll mit klick weiterlaufen





Frage

Ich habe eine Automatisch ablaufende Slideshow auf meiner HP. Möchte aber gerne das diese erst zum nächsten bild springt wenn man auf das gerade abgebildete drückt. Die Zeile die den Bildwechsel verursacht: var standstill=4 Muß ich diese Zeile verändern??? Oder könnte mir jemand den Code hier rein schreiben was ich verändern muß? Vielen Dank im Vorraus

Antwort 1 von semi

<img ...... onClick="Javascript:nextImage()">

wobei nextImage() irgendeine Funktion sein sollte, die den Bildwechsel durchführt.

Gruss,
Michael

Antwort 2 von sonstwer

mhhh... danke für deine hilfe aber was für eine funktion? Ich kenn mich mit java kaum aus.

Antwort 3 von sonstwer

und kannst du mir sagen wo ich die oben genannte zeile einfügen muß? Muß ich die Zeile var standstill=4 dadurch ersetzen?

Antwort 4 von semi

Ich habe absolut keine Ahnung, was das Ding "var standstill=4" bewirkt. Frage am besten denjenigen, der es programmiert hat. Es könnte alles mögliche sein.

Um nicht lange zu rätseln, hier ein einfaches Beispiel einer Slideshow, so wie Du sie haben möchtest.


<html>
<head>
<script type="text/javascript">
<!--
var imgList = new Array(
                "image1.jpg",
                "image2.jpg",
                "image3.jpg",
                "image4.jpg",
                "image5.jpg"
    );

var currentIndex = 0;
function nextImage() {
  currentIndex++;
  if(currentIndex>=imgList.length)
    currentIndex = 0;
  document.getElementById("slide").src = imgList[currentIndex];
  if(allLoaded)
    return;

  if(currentIndex<(imgList.length-1))
    preload(imgList[currentIndex+1]);
  else
    allLoaded=true;
}

var allLoaded=false;
function preload(imgSrc) {
  var tmpImage = new Image();
  tmpImage.src = imgSrc;
}

function startup() {
  if(imgList.length>1)
    preload(imgList[1]);
}
//-->
</script>
</head>
<body onLoad="startup()">
  <img id="slide" src="image1.jpg" onClick="javascript:nextImage()">
</body>
</html>


Gruss,
Michael

Antwort 5 von sonstwer

Also ich komm mir ja langsam etwas blöd vor, aber es funktioniert nicht. Ich hab hier "image1.jpg",
"image2.jpg",
"image3.jpg",
"image4.jpg",
"image5.jpg"
meine eigenen Daten eingetragen und wenn ich die Seite speichere und öffne kommt nur das erste Bild und wenn ich draufdrücke passiert nichts.

Antwort 6 von semi

1.) Alle Grafikdateien sollten, wenn ohne absolute Adresse angegeben, im gleichen Verzeichnis stehen, wie die HTML-Datei.
2.) Javascript muss aktiviert sein.
3.) getElementById unterstützt?

Was für Betriebssystem und Browser verwendest Du?


Antwort 7 von sonstwer

Die Bilddateien sind alle in dem Ordner drin. Javascript ist auch an. Wo kann man nachschauen oder testen ob getElementById an ist? Wenn hier dann ist es an.

Ich benutze Win98SE und IE 6.0

Antwort 8 von semi

Keine Ahnung, warum es bei Dir nicht funktioniert. IE6 unterstützt die Funktion getElementById. Hmmm?

Ich habe u.a. auch IE6 und es läuft.
Opera 6.x, Mozilla 0.9x usw. zeigen auch alles korrekt an.

Versuche vielleicht folgendes:

1.) Kommentiere die folgende Zeile aus
document.getElementById("slide").src = imgList[currentIndex];
( // davor setzen)
2.) Füge dort das hier ein
document.getElementsByName("slide")[0].src = imgList[currentIndex];
3.) Erweitere den IMG-Tag um den Attribut Name:
<img name="slide" id="slide" src="image1.jpg" onClick="javascript:nextImage()">

Wenn es nicht geht, dann ist Dein Browser putt. :-)

Gruss,
Michael

Antwort 9 von semi

Alternativ kannst Du

document.all.slide.src = imgList[currentIndex];

schreiben. Das funktioniert dann aber nur unter IE.

Antwort 10 von sonstwer

Mhhh... Scheinbar mag Dreamweaver dein Script nicht. Aber wenn ich es unter Phase 5 einfüge geht es einwandfrei und ich kann es ohne Probleme in meine HP einbauen.
Vielen Dank

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: