Autor |
Nachricht |
günter
Threadersteller
Dabei seit: 07.06.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mo 11.05.2009 13:33
Titel Slideshow selbstständig starten lassen... |
|
|
Hallo,
ich habe ein kleines Problem, was für die Experten unter Euch sicher nur ein müdes Lächeln bedeutet:
http://aktuell.de.selfhtml.org/artikel/javascript/fader-framework/bilderslideshow.htm
die Slideshow auf dieser Seite ist genau das, was ich brauche.
Allerdings startet diese Show nur mit Klick auf den Link "Slideshow starten"
Ich möchte aber, dass die Show selbstständig anläuft.
Wie mache ich das?
Ich habe leider von Java keinerlei Ahnung...
Wer eine bessere (und ähnlich einfache) Lösung hat, die genau das umsetzt, darf mir diese auch gerne sagen
Vielen herzlichen Dank!!!
|
|
|
|
|
DerM
Dabei seit: 18.01.2009
Ort: -
Alter: 42
Geschlecht:
|
Verfasst Mo 11.05.2009 13:59
Titel
|
|
|
in den headbereich ...
Code: | <script>function next() {
var imgs = document.getElementById("meinFader").getElementsByTagName("img");
if (typeof(counter) != "number") {
counter = 0;
}
counter++;
if (counter < imgs.length) {
fade();
}
setTimeout(next,1000);
};
next();
</script> |
|
|
|
|
|
Anzeige
|
|
|
günter
Threadersteller
Dabei seit: 07.06.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 12.05.2009 12:18
Titel
|
|
|
Hi "M",
danke für Deine Antwort.
Leider bring ich das nicht zum Laufen.
Ich habe nun alle Varianten Deines Codes ausprobiert:
etxtra in den Head gesetzt
zusätzlich in den vorhanden script code eingesetzt
die function next durch Deinen Code ersetzt
Letztlich hast Du doch nur das SetTimeout eingefügt, oder?
Wäre sehr nett, wenn Du mir nochmal zur Hand gehen könntest.
Vielen Dank und viele Grüße,
Günter
p.s.
so sieht mein momentaner code aus, wie ich ihn für am sinnvollsten erachte.
Aber geht ja nicht...
Code: | <script type="text/javascript">
function fade(step) {
var imgs = document.getElementById("meinFader").getElementsByTagName("img");
step = step || 0;
imgs[counter].style.opacity = step/100;
imgs[counter].style.filter = "alpha(opacity=" + step + ")"; //
step = step + 2;
if (step <= 100) {
window.setTimeout(function () { fade(step); }, 1);
} else {
window.setTimeout(next, 2000);
}
}
function next() {
var imgs = document.getElementById("meinFader").getElementsByTagName("img");
if (typeof(counter) != "number") {
counter = 0;
}
counter++;
if (counter < imgs.length) {
fade();
}
setTimeout(next,1000);
};
next();
</script> |
|
|
|
|
|
DerM
Dabei seit: 18.01.2009
Ort: -
Alter: 42
Geschlecht:
|
Verfasst Di 12.05.2009 12:30
Titel
|
|
|
Nimm das setTimeoout aus der Funktion "Next" wieder raus,, das war schmu von mir ... Einfach nur "Next" unter allen Funktionen aufrufen dann musses klappen ^^
|
|
|
|
|
günter
Threadersteller
Dabei seit: 07.06.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 12.05.2009 12:36
Titel
|
|
|
"Schmu" hab ich auch schon lange nicht mehr gehört...
Danke für die schnelle Antwort, aber leider klappts immer noch nicht...
Hab das Next nun auch in allen Variationen an allen Orten eingesetzt, mit Strichpunkt und Klammer oder ohne...
Das will nicht starten...?
|
|
|
|
|
theholy13
Dabei seit: 25.04.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 12.05.2009 14:45
Titel
|
|
|
Dein Bodytag sollte wie folgt aussehen:
Code: |
<body onload="next()">
|
Falls du noch andere Parameter im Bodytag hast, einfach "onload="next()" ergänzen.
Zur Erklärung:
Der Link der im Beispiel die Slideshow startet, ruft die Javascript Funktion "next()" auf. Möchtest du, dass die Slideshow sofort gestartet wird muss die Funktion mittels des Events "onload" aufgerufen werden. "onload" führt den folgenden Javascript Code sobald die Seite komplett geladen wurde aus.
|
|
|
|
|
günter
Threadersteller
Dabei seit: 07.06.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 12.05.2009 14:53
Titel
|
|
|
PERFEKT!!!!
danke Dir vielmals!!!
ähem... was mir grade auffällt:
und wie geht das jetzt endlos?
Hab schon ein paar Parameter geändert, aber das haut auf gut Glück natürlich nicht hin.
Wäre nett, wenn ihr mir diese eine kleine Änderung noch verraten könntet.
Dann bin ich auch ruhig!
|
|
|
|
|
theholy13
Dabei seit: 25.04.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Di 12.05.2009 16:28
Titel
|
|
|
Hier sind die Beiden Funktionen die du für den Slider brauchst:
Code: |
function fade(step) {
var imgs = document.getElementById("meinFader").getElementsByTagName("img");
step = step || 0;
imgs[counter].style.opacity = step/100;
imgs[counter].style.filter = "alpha(opacity=" + step + ")"; // IE?
step = step + 2;
if (step <= 100) {
window.setTimeout(function () { fade(step); }, 1);
} else {
window.setTimeout(next, 2000);
};
}
function next() {
var imgs = document.getElementById("meinFader").getElementsByTagName("img");
if (typeof(counter) != "number") {
counter = 0;
}
counter++;
if (counter < imgs.length) {
fade();
} else {
counter = 0;
for (i=0; i<imgs.length; i++){
imgs[i].style.opacity =0;
imgs[i].style.filter = "alpha(opacity=0)"; // IE?
};
fade();
}
}; |
Neu ist dabei folgendes:
Code: | if (counter < imgs.length) {
fade();
} else {
counter = 0;
for (i=0; i<imgs.length; i++){
imgs[i].style.opacity =0;
imgs[i].style.filter = "alpha(opacity=0)"; // IE?
};
fade();
} |
Ich habe lediglich in der Funktion "next()" eine Schleife hinzugefügt, die bei erreichen des letzten Bildes, alle bereits durchlaufenden Bilder wieder zurücksetzt und den Counter, welcher das aktuelle Bild enthält, auf den Initialwert(0) setzt, damit dieser wieder von neuen hinaufgezählt werden kann.
Zuletzt bearbeitet von theholy13 am Di 12.05.2009 16:29, insgesamt 2-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
Film in Acrobat einbetten und selbstständig starten lassen
[jQuery Cycle] Slideshow in Slideshow wechseln zusammen
Selbstständig im Web - wie geht dem?
.pls Extern starten!
Slideshow
Slideshow
|
|