Avatar billede krogstrup Nybegynder
16. marts 2004 - 20:26 Der er 8 kommentarer og
1 løsning

Sætte left & top for en DIV´s style før laget vises

Jeg ønsker med nedenstående funktion dynamisk at sætte LEFT og TOP for mit lag til x og y koordinaterne for hvor musepilen befinder sig på skærmen.


function show(layer) {
x = event.clientX
y = event.clientY
   
    document.getElementById(layer).style.left = x;
    document.getElementById(layer).style.top = y;
    document.getElementById(layer).style.display = "block";
}


Hvad gør jeg galt ?
Avatar billede olebole Juniormester
16. marts 2004 - 20:35 #1
<ole>

Resten af koden, please  ;o)

/mvh
</bole>
Avatar billede krogstrup Nybegynder
16. marts 2004 - 20:36 #2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>test</title>
   
<script>   

function show(l){
l = document.getElementById(l)
l.style.display = "inline";
l.style.top  = event.clientY + document.body.scrollLeft + 5;
l.style.left = event.clientX + document.body.scrollTop + 5;
}


function hide(layer) {
    document.getElementById(layer).style.display = "none";
}
</script>
   
</head>

<body>

<div id="test" name="test" style="position:absolute; background:red; border:1px solid #000000; color:white; font-weight:bold; display:none;" onMouseOut="hide('test');">SKJULT LAG</div>

<div style="padding-top:60px; padding-left:60px;">
<a href="java script:show('test');">test</a>
</div>

</body>
</html>
Avatar billede roenving Novice
16. marts 2004 - 20:41 #3
Intet event-objekt, når du afvikler det udenfor en event !-)

<html>
<head>
    <title>test</title>
   
<script>   

function show(l){
st = document.getElementById(l).style
st.display = "inline";
st.top  = event.clientY + document.body.scrollLeft + 5;
st.left = event.clientX + document.body.scrollTop + 5;
}


function hide(layer) {
    document.getElementById(layer).style.display = "none";
}
</script>
   
</head>

<body>

<div id="test" name="test" style="position:absolute; background:red; border:1px solid #000000; color:white; font-weight:bold; display:none;" onMouseOut="hide('test');">SKJULT LAG</div>

<div style="padding-top:60px; padding-left:60px;">
<a href="#" onclick="show('test');return false;">test</a>
</div>

</body>
</html>
Avatar billede olebole Juniormester
16. marts 2004 - 20:43 #4
Så sandt, så sandt  :)
Avatar billede krogstrup Nybegynder
16. marts 2004 - 20:44 #5
ja, det lyder jo ganske fornuftigt (og virker endda...)

Takker :-)

smider du et svar Hr. roenving ?
Avatar billede roenving Novice
16. marts 2004 - 20:53 #6
Velbekomme '-)
Avatar billede roenving Novice
16. marts 2004 - 21:23 #7
-- og tak for points ;~}
Avatar billede krogstrup Nybegynder
16. marts 2004 - 22:26 #8
øh - et lille tillægsspørgsmål:

på mit skjulte lag har jeg jo sat onMouseOut="skjul laget igen"

men i min skjulte lag har jeg nogle links. Så snart man fører musen henover disse links, aktiveres min onMouseOut og laget forsvinder selv om man egentlig stadig har markøren på laget.

Hvordan løses denne problemstilling, således at jeg fortsat sikrer mig at laget automatisk bliver skjult igen, hvis brugeren tager muse-markøren væk fra mit skjulte lag ???

:-)
Avatar billede krogstrup Nybegynder
16. marts 2004 - 22:30 #9
never mind - fandt en løsning på problemet !

/David
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