Slideshow
Frank
- javascript
0 Chräcker Heller0 Frank0 Chräcker Heller0 Frank
Hallo,
kann mir jemand sagen, ob - und wenn ja wo - ich in dem folgenden Skript eine Zeitverzögerung einstellen kann?
Danke!!!
Frank
<script type="text/javascript">
<!--
var slideShowSpeed = 300;
var crossFadeDuration = 3;
var Pic = new Array();
Pic[0] = './bilder/bg.jpg'
Pic[1] = './bilder/bg-2.jpg'
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;
document.images.SlideShow.alt = preLoad[j].alt;
if (document.all) {
document.images.SlideShow.filters.blendTrans.Play();
}
j = j + 1;
if (j > (p - 1)) j = 0;
t = setTimeout('runSlideShow()', slideShowSpeed);
}
//-->
</script>
Hallo,
hast Du denn das Script (ansatzweise) verstanden? Dann müste es Dir doch gelingen, die Stelle zu finden. Kleiner Tip: Du willst die speed" der "Slideshow" verändern. (Wird also eine Zahl sein, die zu verändern ist);-)
Chräcker
hast Du denn das Script (ansatzweise) verstanden? Dann müste es Dir doch gelingen, die Stelle zu finden. Kleiner Tip: Du willst die speed" der "Slideshow" verändern. (Wird also eine Zahl sein, die zu verändern ist);-)
Hallo...
so eine Antwort hatte ich erwartet ;-)
Natürlich weiß ich, dass ich das dort einstellen kann, aber dann sieht es nur nach "Zeitlupe" aus...
Ich würde aber gerne so etwas wie eine Pause beim Durchlauf erreichen... oder muß ich dafür zusätzliche Bilder verwenden?
Frank
Hallo,
ah so, ah ja ;-)
Das Problem ist dann in der Tat, das JS keine "Pausenfunktion" (wie wait(300)) anbietet. Da könnte man einen umständlichen Workaround basteln, und zwar (vielleicht) nach dem hochzählen
j = j + 1;
den "Selbstaufruf" der Slideshow stoppen, eine weitere Funktion aufrufen die wiederum nach x Sekunden eine "Slideshow-wieder-starten-funktion" aufruft ;-))))
Du kannst natürlich das Bild, das länger stehen bleiben soll, einfach doppelt einbauen, dann blendet es "auf sich selbst" über, aber wirklich elegant ist das auch nicht....hm.... ich muß gestehen, im Moment fällt mir da nichts sinnigeres ein, ich geb den Ball mal wieder ins Forum ,-) (Denk aber drüber noch weiter nach....)
Chräcker
Du kannst natürlich das Bild, das länger stehen bleiben soll, einfach doppelt einbauen, dann blendet es "auf sich selbst" über, aber wirklich elegant ist das auch nicht....
so geht's aber :-)
Danke.
Grüße
Frank