Avatar billede funkyloonie Nybegynder
14. juli 2003 - 15:12 Der er 8 kommentarer og
1 løsning

Hjælp til menu som popper frem

Jeg har lavet det lille eksemple herunder men det er ikke fuldendt endnu. Det jeg gerne vil have er at html'en som vises ved mouseover skal åbne sig ud over alt det andet html (a la menuen på eksperten.) hvor mit eksempel skubber det resten a siden ned ad.

<A href="test.htm" onmouseout="document.getElementById('h').style.display = 'none'" onmouseover="document.getElementById('h').style.display = 'block'">test</a>
<DIV id=h style="DISPLAY: none; background-color:red;">
<A href="test.htm">test2</a>
</DIV>
<br>
hej
Avatar billede roenving Novice
14. juli 2003 - 15:34 #1
Tre trin:

1. din div skal have position:absolute for at kunne svæve over resten (og så et z-index som er højere f.eks. z-index:1 ,-) -- da den så ikke hænger fast nogen steder må du:

2. Finde den position, den skal have og flytte den derhen -- og tilsidst:

3. tænde/slukke for den -- det har du sørget for !-)

Og så bliver det:

<script language="javascript" type"text/javascript">
function getPos(elm) {
    for(var zx=zy=0;elm!=null;zx+=elm.offsetLeft,zy+=elm.offsetTop,elm=elm.offsetParent);
    return {x:zx,y:zy}
}
function posDiv(){
elm=document.getElementById("ha");
hdiv=document.getElementById("h");

hdiv.style.top=getPos(elm).y+10;
hdiv.style.left=getPos(elm).x+20;
}
</script>

<body onload="posDiv()"

<A id="ha" href="test.htm" onmouseout="document.getElementById('h').style.display = 'none'" onmouseover="document.getElementById('h').style.display = 'block'">test</a>
<DIV id=h style="position:absolute;z-index:1;display:none; background-color:red;">
<A href="test.htm">test2</a>
</DIV>
<br>
</body>
Avatar billede roenving Novice
14. juli 2003 - 15:35 #2
<body onload="posDiv()"> sæ'fø'li'
Avatar billede funkyloonie Nybegynder
14. juli 2003 - 15:45 #3
perfekt. giv et svar og du får points.
Avatar billede roenving Novice
14. juli 2003 - 15:55 #4
Velbekomme '-)
Avatar billede roenving Novice
14. juli 2003 - 16:00 #5
Så skal der en eller anden ting på, som får poup-tingen til at blive der indtil du rammer den, jeg har oftest set den med en timeout, altså (med ½ sekund)

onmouseout="setTimeout('hide()',500);"

og så

function hide(){
document.getElementById('h').style.display = 'none';
}
Avatar billede roenving Novice
14. juli 2003 - 16:01 #6
-- og tak for points ;~}
Avatar billede funkyloonie Nybegynder
14. juli 2003 - 16:01 #7
ok. tænkte godt på det lige før
Avatar billede funkyloonie Nybegynder
14. juli 2003 - 16:02 #8
...men der skal kun vises tekst og ikke linkes så bare den vises når man holder musen på området er det fint nok. tak igen ;-)
Avatar billede roenving Novice
14. juli 2003 - 16:05 #9
U'r welcome ;O)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester