du sætter den ind i koden der du gerne vil ha den til at være releativ overfor .. og forjer så positions-angivelserne... (efterlad kun position:absolute) .. så vil den lægge sig der hvor den er sat ind og stadig ligge ind over evt andre ting du smider efter ..
At placere den et bestemt sted i forhold til et andet element:
<body onload="posDiv()">
<script type="text/javascript"> function posDiv(){ elm = document.getElementById('refElement'); for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent); divStyle = document.getElementById('lokalDiv').style divStyle.top = zy + 'px';//du kan så lægge lidt til eller trække fra til den præcise position divStyle.left = zx + 'px'; } </script>
Men for lige at opsummere, så ser min kode sådan ud :
<head> <script type="text/javascript"> function posDiv(){ elm = document.getElementById('refElement'); for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent); divStyle = document.getElementById('lokalDiv').style divStyle.top = zy + 'px';//du kan så lægge lidt til eller trække fra til den præcise position divStyle.left = zx + 'px'; } </script>
<script type="text/javascript"> function visSkjulDiv(){ st = document.getElementById('lokalDiv').style; if(st.display=='block')st.display='none' else st.display='block'; } </script> </head>
Mit link : <a href="#" href="#" onclick="visSkjulDiv()">Lokalt</a>
Linket ligger i en td, som har fået ref: <td class="menutd" id="refElement">
Yep. Mit eneste "problem" nu er, at det placere sig efter websitet hjørne (hvilket jeg godt kan lide. Men hvis det er en fejl, kan jeg ikke leve med det)
Eller hvis den skal fungere som en slags fold-ud-ting:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head>
<script type="text/javascript"> function visSkjulDiv(){ st = document.getElementById('lokalDiv').style; if(st.display=='block')st.display='none' else st.display='block'; } function posDiv(){ elm = document.getElementById('refElement'); for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent); divStyle = document.getElementById('lokalDiv').style divStyle.top = zy + 21 + 'px';//du kan så lægge lidt til eller trække fra til den præcise position divStyle.left = zx + 'px'; } </script>
Menuen skal være lige under "lokalt". Men lige så snart jeg har fundet ud af, at placere den ordentligt, så burde det heller ikke være et problem at flytte den rundt.
Har du et bud på, hvordan jeg bedst muligt kan lave underniveauer i layeret ? Er det nemmeste ikke bare, at genbruge al den kode du har lavet, og lave nye layers?
function visSkjulDiv(d){ st = document.getElementById(d).style; if(st.display=='block')st.display='none' else st.display='block'; }
function posDiv(){ elm = document.getElementById('refElement'); for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent); divStyle = document.getElementById('lokalDiv').style divStyle.top = zy + 21 + 'px';//du kan så lægge lidt til eller trække fra til den præcise position divStyle.left = zx + 'px';
elm = document.getElementById('underLink1'); for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent); divStyle = document.getElementById('underMenu1').style divStyle.top = zy + 21 + 'px';//du kan så lægge lidt til eller trække fra til den præcise position divStyle.left = zx + 'px';
elm = document.getElementById('underLink2'); for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent); divStyle = document.getElementById('underMenu2').style divStyle.top = zy + 21 + 'px';//du kan så lægge lidt til eller trække fra til den præcise position divStyle.left = zx + 'px';
Hm. Som udgangspunkt skulle jeg jo faktisk bruge en menu, der "reagerede" på mouseover, og som forsvandt igen hvis musen blev ført uden for linket eller layeret. Er det svært at rette til ?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.