FipsTheThief
Erfahrenes Mitglied
Ich hab so ein kleines Problem das ich eben nicht verstehen kann so richtig. Ich habe quasi ein Menu gesehen. Ehm ja Link vergessen leider es war s o aufgebaut mehere Menupunkte wie Reiter untereinander. Wenn man auf einen geklickt hat , dann hat sich dort ein neues Fenster aufgebaut.
Da ich aber nun nicht nach jeden Reiter gleich einen Div Layer einbauen will der nur die Höhe von 0 pixeln hat. Habe ich mir überlegt naja versuchen wir sie einfach dynamsich einzubauen.
Klappt soweit schon , blos nun kommt das Problem. Sobald ich den neuen Div nun einfach mal einfüge kann ich nun nicht mehr auf den obergeordneten Reiter klicken.
Das soll heissen wenn ich es von oben nach unten abarbeite , dann klappt des ganz gut abgesehen das der Eventhandler dann auch nicht mehr funktioniert wenn ich auf den selben Reiter noch einmal klicke.
Sollte ich nun zuerst auf den Mittleren reiter klicken dann kann ich ebenfalls nicht mehr den obergeordneten anklicken bzw startet der Event nicht mehr.Eine sehr merkwürdige Angelegenheit momentan hier mal das Script dazu.
Da ich aber nun nicht nach jeden Reiter gleich einen Div Layer einbauen will der nur die Höhe von 0 pixeln hat. Habe ich mir überlegt naja versuchen wir sie einfach dynamsich einzubauen.
Klappt soweit schon , blos nun kommt das Problem. Sobald ich den neuen Div nun einfach mal einfüge kann ich nun nicht mehr auf den obergeordneten Reiter klicken.
Das soll heissen wenn ich es von oben nach unten abarbeite , dann klappt des ganz gut abgesehen das der Eventhandler dann auch nicht mehr funktioniert wenn ich auf den selben Reiter noch einmal klicke.
Sollte ich nun zuerst auf den Mittleren reiter klicken dann kann ich ebenfalls nicht mehr den obergeordneten anklicken bzw startet der Event nicht mehr.Eine sehr merkwürdige Angelegenheit momentan hier mal das Script dazu.
HTML:
<html>
<head>
<style type="text/css">
div.mainWindow {
position:absolute;
width:300px;
background-color:#FF0000;
}
div.subWindow {
position:relative;
top:0px;
float:left;
height:21px;
width:100%;
border-bottom:1px solid;
border-top:1px solid;
}
div.subContent {
position:relative;
height:125px;
width:100%;
}
</style>
<script type="text/javascript">
var LayerMenu = new Object;
LayerMenu.construct = function (groundID) {
var thisObj = this;
thisObj.groundId = groundID;
thisObj.addMenuField = function (name,id,cn) {
var button = document.createElement("div");
var text = document.createTextNode(name);
button.appendChild(text);
button.id = id;
button.className = cn;
document.getElementById(thisObj.groundId).appendChild(button);
}
thisObj.insertField = function () {
alert(document.getElementById('subWindow'));
var nodeElement = document.getElementById(thisObj.groundId).firstChild;
var subElement = document.createElement('div');
subElement.className = 'subContent';
if(nodeElement.id == this.id) {
var nodeRoot = nodeElement.nextSibling;
document.getElementById(thisObj.groundId).insertBefore(subElement,document.getElementById(nodeRoot.id));
} else {
while (nodeElement) {
nodeElement = nodeElement.nextSibling;
if(nodeElement.id == this.id) {
var nodeRoot = nodeElement.nextSibling;
document.getElementById(thisObj.groundId).insertBefore(subElement,document.getElementById(nodeRoot.id));
break;
}
}
}
}
}
window.onload = function () {
//var Element = document.createElement("button");
var menu = new LayerMenu.construct('mainWindow');
menu.addMenuField('klaus','subWindow','subWindow');
menu.addMenuField('peter','subWindow1','subWindow');
menu.addMenuField('fred','subWindow2','subWindow');
// die habe ich hier mal eingefügt nun einfach
document.getElementById('subWindow').onclick = menu.insertField;
document.getElementById('subWindow1').onclick = menu.insertField;
document.getElementById('subWindow2').onclick = menu.insertField;
}
</script>
</head>
<body>
<div class="mainWindow" id="mainWindow"></div>
</body>
</html>