flavor Posted April 11, 2010 Report Share Posted April 11, 2010 Hallo, ich habe eine Slideshow (Javascript) in mein Header eingebunden, die mir weiche Bildübergänge ermöglicht. Bilderwiedergabe funktioniert nach der Reinfolge auch wunderbar. Leider bekomme ich es nicht gebacken die zufällige Bilderwiedergabe zu erzwingen. Hat vieleicht einer eine Lösung parat? window.addEventListener?window.addEventListener("load",so_init,false):window.attachEvent("onload",so_init); var d=document, bilder = new Array(), zInterval = null, aktuell=0, pause=false; bilderAnzahl=5; bilderPfad="../media/images/"; geschwindigkeit=10000; function so_init() { if(!d.getElementById || !d.createElement)return; // erstes Bild wird eingelesen bild = d.getElementById("slideshow").getElementsByTagName("img"); bilder[0] = bild[0]; bilder[0].style.display = "block"; bilder[0].xOpacity = .99; bilder[1] = new Image(); bilder[1].src = bilderPfad + "002.jpg"; bilder[1].xOpacity = 0; d.getElementById("slideshow").appendChild(bilder[1]); setTimeout(so_xfade,geschwindigkeit); neuesBild(); } function so_xfade() { cOpacity = bilder[aktuell].xOpacity; nIndex = bilder[aktuell+1]?aktuell+1:0; nOpacity = bilder[nIndex].xOpacity; cOpacity-=.05; nOpacity+=.05; bilder[nIndex].style.display = "block"; bilder[aktuell].xOpacity = cOpacity; bilder[nIndex].xOpacity = nOpacity; setOpacity(bilder[aktuell]); setOpacity(bilder[nIndex]); if(cOpacity<=0) { bilder[aktuell].style.display = "none"; aktuell = nIndex; setTimeout(so_xfade,geschwindigkeit); neuesBild(); } else { setTimeout(so_xfade,50); } function setOpacity(obj) { if(obj.xOpacity>.99) { obj.xOpacity = .99; return; } obj.style.opacity = obj.xOpacity; obj.style.MozOpacity = obj.xOpacity; obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")"; } } function neuesBild() { // immer ein Bild vorausladen if ( (aktuell < (bilderAnzahl-2)) && (bilder.length < bilderAnzahl) ) { bilder[aktuell+2] = new Image(); bilder[aktuell+2].src = bilderPfad + "0" + ((aktuell+3)<10 ? "0" + (aktuell+3) : (aktuell+3)) + ".jpg" bilder[aktuell+2].xOpacity = 0; d.getElementById("slideshow").appendChild(bilder[aktuell+2]); } }[/PHP] Liebe Grüße Claudia Link to comment Share on other sites More sharing options...
flavor Posted April 13, 2010 Author Report Share Posted April 13, 2010 keiner ne Idee? Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.