Hallo zusammen,
ich bin gerade dabei ein Bild Fader zu erstellen. Es sollen 6 Bilder übereinander angezeigt werden, die dann gleichzeitig nach einer gewissen Zeit wechseln sollen. Das Wechseln soll in einer Schleife geschehen, also nach dem zweiten Bild soll wieder das erste erscheinen usw.
Derzeit läuft mein Skript weniger stabil (Firefox stürzt öfters ab) und ich würde gerne wissen, wie man es besser macht.
Im Folgenden seht ihr meinen Code mit 6 Bildern, jeweils 3 werden immer angezeigt.
Gibt es eine bessere, einfachere Lösung? Die Umgebung der Bilder sollte mit HTML gestalterisch bleiben und die Bilder sollen auch verlinkt werden können.
Ich würde mich sehr freuen, wenn mir einer helfen könnte
Viele Grüße
Alex
ich bin gerade dabei ein Bild Fader zu erstellen. Es sollen 6 Bilder übereinander angezeigt werden, die dann gleichzeitig nach einer gewissen Zeit wechseln sollen. Das Wechseln soll in einer Schleife geschehen, also nach dem zweiten Bild soll wieder das erste erscheinen usw.
Derzeit läuft mein Skript weniger stabil (Firefox stürzt öfters ab) und ich würde gerne wissen, wie man es besser macht.
Im Folgenden seht ihr meinen Code mit 6 Bildern, jeweils 3 werden immer angezeigt.
Code:
<html><head>
<script type="text/javascript">
function start()
{
i=0;
while(i<1000000000){
window.setTimeout("fade()",5000+i);
window.setTimeout("defade()",10000+i);
i=i+10000;
}
}
function fade(step) {
var imgs = document.getElementsByTagName("img");
step = step || 0;
imgs[1].style.opacity = step/100;
imgs[1].style.filter = "alpha(opacity=" + step + ")"; // IE
imgs[3].style.opacity = step/100;
imgs[3].style.filter = "alpha(opacity=" + step + ")"; // IE
imgs[5].style.opacity = step/100;
imgs[5].style.filter = "alpha(opacity=" + step + ")"; // IE
step = step + 2;
if (step <= 100) {
window.setTimeout(function () { fade(step); }, 20);
}
}
function defade(step) {
var imgs = document.getElementsByTagName("img");
step = step || 0;
imgs[1].style.opacity = 1-(step/100);
imgs[1].style.filter = "alpha(opacity=" + (1-step) + ")"; // IE
imgs[0].style.opacity = step/100;
imgs[0].style.filter = "alpha(opacity=" + step + ")"; // IE
imgs[3].style.opacity = 1-(step/100);
imgs[3].style.filter = "alpha(opacity=" + (1-step) + ")"; // IE
imgs[2].style.opacity = step/100;
imgs[2].style.filter = "alpha(opacity=" + step + ")"; // IE
imgs[5].style.opacity = 1-(step/100);
imgs[5].style.filter = "alpha(opacity=" + (1-step) + ")"; // IE
imgs[4].style.opacity = step/100;
imgs[4].style.filter = "alpha(opacity=" + step + ")"; // IE
step = step + 2;
if (step <= 100) {
window.setTimeout(function () { defade(step); }, 20);
}
}
</script>
</head><body onload="start()" >
<div id="main" style="border:4px solid #82b825; width:120px; height:600px">
<p><center><span style="font-family:helvetica; font-size:12;" ><b>Überschrift</p>
<p style="position:relative;">
<img src="0.jpg" alt="">
<img src="1.jpg" alt="" style="position:absolute; left:0; top:0; opacity:0; filter:alpha(opacity=0)">
</p>
<p style="position:relative;">
<img src="2.jpg" alt="">
<img src="3.jpg" alt="" style="position:absolute; left:0; top:0; opacity:0; filter:alpha(opacity=0)">
</p>
<p style="position:relative;">
<img src="4.jpg" alt="">
<img src="5.jpg" alt="" style="position:absolute; left:0; top:0; opacity:0; filter:alpha(opacity=0)">
</p>
</div>
</body></html>
Gibt es eine bessere, einfachere Lösung? Die Umgebung der Bilder sollte mit HTML gestalterisch bleiben und die Bilder sollen auch verlinkt werden können.
Ich würde mich sehr freuen, wenn mir einer helfen könnte
Viele Grüße
Alex
Zuletzt bearbeitet: