vita-design
Ich tüftle nun schon seit einer Ewigkeit an diesem Code herum, aber finde den Grund bzw. den logischen Fehler nicht, der verhindert, dass sich das Menü schließt. Ich dachte zu Beginn, das Ganze wäre ein winziges Problem, allerding stellte sich heraus, dass es doch nicht so einfach zu lösen ist.
Ich will, dass sich die Unterpunkte schließen, sobald man außerhalb des Bereichs "hauptlinkbereich" ist (eine ganz normale Sidebar eben), der als absolute gesetzter DIV mit einer fixen Höhe und einer fixen Breite definiert wurde. Allerdings wird meine Funktion entweder dann ausgeführt, wenn man den linken Bereich mit den Hauptlinks verlässt oder gar nicht schließt. Ich vermute das Ganze hängt mit dem "Bubbeln" zusammen, weiß allerdings nicht, wie sich das Problem beheben lässt.
Darunter haben ich den Sourcecode, der mit der Sidebar zusammenhängt gepostet und hoffe jemand kann mir irgendwie helfen.
Vl. ist mein Grundsatz falsch oder es existiert eine andere Variante, bin für jeden Hilfevorschlag dankbar.
ich hoffe ich habe nichts vergessen hineinzukopieren
Danke
vitafutura
Ich will, dass sich die Unterpunkte schließen, sobald man außerhalb des Bereichs "hauptlinkbereich" ist (eine ganz normale Sidebar eben), der als absolute gesetzter DIV mit einer fixen Höhe und einer fixen Breite definiert wurde. Allerdings wird meine Funktion entweder dann ausgeführt, wenn man den linken Bereich mit den Hauptlinks verlässt oder gar nicht schließt. Ich vermute das Ganze hängt mit dem "Bubbeln" zusammen, weiß allerdings nicht, wie sich das Problem beheben lässt.
Darunter haben ich den Sourcecode, der mit der Sidebar zusammenhängt gepostet und hoffe jemand kann mir irgendwie helfen.
Vl. ist mein Grundsatz falsch oder es existiert eine andere Variante, bin für jeden Hilfevorschlag dankbar.
Code:
<script type="text/javascript">
<!--
function startslide(){
link1 = document.getElementById('unterlink1');
link2 = document.getElementById('unterlink2');
link3 = document.getElementById('unterlink3');
link4 = document.getElementById('unterlink4');
link5 = document.getElementById('unterlink5');
link6 = document.getElementById('unterlink6');
link7 = document.getElementById('unterlink7');
link8 = document.getElementById('unterlink8');
link9 = document.getElementById('unterlink9');
link10 = document.getElementById('unterlink10');
if(link1){link1.style.visibility = 'hidden';}
if(link2){link2.style.visibility = 'hidden';}
if(link3){link3.style.visibility = 'hidden';}
if(link4){link4.style.visibility = 'hidden';}
if(link5){link5.style.visibility = 'hidden';}
if(link6){link6.style.visibility = 'hidden';}
if(link7){link7.style.visibility = 'hidden';}
if(link8){link8.style.visibility = 'hidden';}
if(link9){link9.style.visibility = 'hidden';}
if(link10){link10.style.visibility = 'hidden';}
}
var aktiv = 0;
var preaktiv = 0;
var done = false;
function slidein(id,linien){
backslide();
if (done){
sliding(id,linien);
done = false;
}
}
function sliding(id,linien){
var maxw = 147;
var lin = document.getElementById('dyn_unterlink' + id);
var ulin = document.getElementById('unterlink' + id);
var hlin = document.getElementById('link' + id);
hlin.style.color = '#FFFF20';
lin.style.visibility = 'visible';
if(lin.offsetWidth < maxw){
var w = lin.offsetWidth + 147;
lin.style.width = w+'px';
window.setTimeout("sliding(" + id + "," + linien + ");", 20);
}
aktiv = parseInt(id);
}
function backslide(){
if (aktiv > 0){
preaktiv = aktiv;
alin = document.getElementById('dyn_unterlink' + aktiv);
aulin = document.getElementById('unterlink' + aktiv);
hlin = document.getElementById('link' + aktiv);
hlin.style.color = '#FFFFFF';
alin.style.visibility = 'hidden';
alin.style.width = '0px';
aulin.style.height = '22px';
if (preaktiv > 0){
pralin = document.getElementById('dyn_unterlink' + preaktiv);
praulin = document.getElementById('unterlink' + preaktiv);
pralin.style.visibility = 'hidden';
pralin.style.width = '0px';
praulin.style.height = '22px';
}
}
done = true;
}
//-->
</script>
ich hoffe ich habe nichts vergessen hineinzukopieren
Danke
vitafutura