Hallo,
ich habe zwei übereinanderliegende <div> Container, die jeweils eine komplette HTML-Seite beinhalten sollen. Mit diesen Containern möchte ich einen Überblendeffekt erzielen. Durch Klicken auf einen Link werden also die Container ein- bzw ausgeblendet. Das funktioniert auch ganz gut. Das Problem ist: nach dem zweiten Ein- bzw . Ausblenden fängt das ganze zu ruckeln an bzw. ein Container erscheint sofort ohne Einblendeffekt. Ich weiß nicht wie ich das abstellen soll.
Ich hab hier mal die Schlüsselstellen des javascript-Codes abgeschrieben:
function set_opacity(id, opacStart, opacEnd, millisec)
{
Die Funktion wird immer aufgerufen mit set_opacity('name_div_Container',0, 100). Das bedeutet, dass der betreffende Layer immer nur eingeblendet wird (also der andere Div Container unberührt bleibt)
Hier kann man sich das ganze mal anschauen:
http://test.hopfenstrudel.de/Ajax/blendeffekt.php
Wäre echt nett, wenn mir da jemand helfen könnte.
Grüße
ich habe zwei übereinanderliegende <div> Container, die jeweils eine komplette HTML-Seite beinhalten sollen. Mit diesen Containern möchte ich einen Überblendeffekt erzielen. Durch Klicken auf einen Link werden also die Container ein- bzw ausgeblendet. Das funktioniert auch ganz gut. Das Problem ist: nach dem zweiten Ein- bzw . Ausblenden fängt das ganze zu ruckeln an bzw. ein Container erscheint sofort ohne Einblendeffekt. Ich weiß nicht wie ich das abstellen soll.
Ich hab hier mal die Schlüsselstellen des javascript-Codes abgeschrieben:
function set_opacity(id, opacStart, opacEnd, millisec)
{
if (id=='layer_index')
{
changeOpac(0,'layer_index'); //den einzublendenden Div - Container erst mal ganz unsichtbar machen
document.getElementById('layer_index').style.zIndex=2; //in der Anzeigereihenfolge ganz oben legen
}
if (id=='layer_unten')
if (id=='layer_unten')
{
changeOpac(0,'layer_unten'); //den einzublendenden Div - Container erst mal ganz unsichtbar machen
document.getElementById('layer_index').style.zIndex=0; //den nicht einzublendenden Div Container ganz nach hinten setzen
document.getElementById('layer_index').style.zIndex=0; //den nicht einzublendenden Div Container ganz nach hinten setzen
}
//hier startet nun die Überblendung (der Teil ist eigentlich in Ordnung
for(i = opacStart; i <= opacEnd; i++)
for(i = opacStart; i <= opacEnd; i++)
{
setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed)); //changeOpac setzt die style Eigenschaft 'opacity' auf den Wert i
timer++;
timer++;
}
}
Die Funktion wird immer aufgerufen mit set_opacity('name_div_Container',0, 100). Das bedeutet, dass der betreffende Layer immer nur eingeblendet wird (also der andere Div Container unberührt bleibt)
Hier kann man sich das ganze mal anschauen:
http://test.hopfenstrudel.de/Ajax/blendeffekt.php
Wäre echt nett, wenn mir da jemand helfen könnte.
Grüße