27. november 2003 - 21:11
Der er
19 kommentarer og 1 løsning
Dhtml vis/skjul tekst
Jeg har lavet følgende eksempel: <a href="" onmouseover="document.getElementById('boxelement').style.visibility='visible'" onmouseout="document.getElementById('boxelement').style.visibility='hidden'">Link</a> <div id="boxelement">Tekst</div> og <style> #boxelement { position:absolute; top:20px; left:950px; visibility:hidden; } </style> Hvordan gør jeg sådan, at div-elementet altid placerer sig lige under "Link" uanset om der står noget i forvejen eller ej? Altså læser "Link"'s position og placerer sig i forhold til det istedet for at placere sig absolut på skærmen?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
27. november 2003 - 21:14
#1
ved at fjerne position:absolute; ;-) <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style> #boxelement { top:20px; left:950px; visibility:hidden; } </style> </head> <body bgcolor="#FFFFFF" text="#000000"> <a href="" onmouseover="document.getElementById('boxelement').style.visibility='visible'" onmouseout="document.getElementById('boxelement').style.visibility='hidden'">Link</a> <div id="boxelement">Tekst</div> </body> </html>
27. november 2003 - 21:15
#2
var et svar
27. november 2003 - 21:15
#3
hmmm måske ikke helt alligevel.....
27. november 2003 - 21:19
#4
Hmmm.. hvad skulle det løse? Problemet er jo, at linket kan være placeret hvor som helst på skærmen, så den er nødt til at læse, hvor det er placeret for at kunne placere div-elementet.
27. november 2003 - 21:22
#5
Kommentar: spiffsen 27/11-2003 21:15:58 jaja... ;-)
27. november 2003 - 21:23
#6
Undskyld, glemte lige at opdatere før jeg submittede :-)
27. november 2003 - 21:55
#7
hvis du stryger top,left,og position så burde du da opnå det ønskede ik ?
27. november 2003 - 21:58
#8
men hvis det ikke er det du ønsker, så burde det omtrent sådan ud ;) <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style> #boxelement { top:20px; left:950px; visibility:hidden; } </style> <script type="text/javascript"> function vis(t,l,h){ e= document.getElementById('boxelement') e.style.top = (t+h)+"px" e.style.left = l+"px" e.style.visibility = (e.style.visibility=="visible")?"hidden":"visible" } </script> </head> <body bgcolor="#FFFFFF" text="#000000"> <a href="#" onclick="vis(this.offsetTop,this.offsetLeft,this.offsetHeight);">Kliks</a> <div id="boxelement">Tekst</div> </body> </html> men det virker nu som ren overkill ;D
27. november 2003 - 22:14
#9
Ja, det er et skridt i den rigtige retning, men stadig ikke helt, hvad jeg leder efter: Hvis jeg placerer elementet med aboslute og pixels, kan jeg placere det oven på en eksisterende tekst - det kan jeg ikke med dit script. Kan man evt. ændre det, så offsetTop, Left og Height bliver brugt i stylesheetet, så det virker på samme måde som med absolute? Eller en anden løsning? Det jeg godt kunne tænke mig i nedenstående eksempel er, at elementet bliver vist oveni "bla bla bla" og ikke nedenunder: <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style> #boxelement { top:20px; left:950px; visibility:hidden; } </style> <script type="text/javascript"> function vis(t,l,h){ e= document.getElementById('boxelement') e.style.top = (t+h)+"px" e.style.left = l+"px" e.style.visibility = (e.style.visibility=="visible")?"hidden":"visible" } </script> </head> <body bgcolor="#FFFFFF" text="#000000"> <a href="#" onmouseover="vis(this.offsetTop,this.offsetLeft,this.offsetHeight);">Kliks</a> <br>bla bla bla<div id="boxelement">Tekst</div> </body> </html>
27. november 2003 - 22:20
#10
ehmm ;D nu har du jo osse fjernet position:absolute; fra din style ;)
27. november 2003 - 22:21
#11
som jeg osse havde sorry ;D
27. november 2003 - 22:21
#12
altså dit style skal se ud som følger <style> #boxelement { position:absolute; top:20px; left:950px; visibility:hidden; } </style>
27. november 2003 - 22:31
#13
Hmmm... ja, det var selvfølgelig det!! Mange tak for hjælpen - du får dine velfortjente point :-) (håber det er ok, spiffsen?) Det er vel ikke overkill, hvis det ikke kan gøres enklere?
27. november 2003 - 22:32
#14
Læg lige et svar forresten...
27. november 2003 - 22:38
#15
Nej så er det ikke overkill, når det skal fungere på den måde ;) men det var ikke helt det jeg havde fattet fra starten ;D (jeg kan nu regne ud at du er ved at kreere en form for menu)
27. november 2003 - 22:43
#16
Ja, vil lave det sådan, at når man holder musen over et ikon kommer en lille søgeformular nedenunder, men kunne ikke lige hitte ud af det selv. Tak.
27. november 2003 - 23:13
#17
Hvis man putter linket ind i en tabel, måler den offsetTop osv. til tabellens kant istedet for til sidens kant - kan man gøre noget ved det?
28. november 2003 - 10:33
#18
28. november 2003 - 17:09
#19
hejsa Thomas, har ikke altid lige tid til at være der hele tiden, men problematiken har lige skrevet en hurtig omskrivning af scriptet ;) nedenstående burde fungere ;) <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style> #boxelement { position:absolute; top:20px; left:950px; visibility:hidden; } </style> <script type="text/javascript"> function vis(obj){ var pos = {x:0,y:0}; var hoj = obj.offsetHeight; while (obj) { pos.x += parseInt( obj.offsetLeft, 10 ); pos.y += parseInt( obj.offsetTop, 10 ); obj = obj.offsetParent; } e = document.getElementById('boxelement') e.style.top = (pos.y + hoj)+"px"; e.style.left = pos.x+"px" e.style.visibility = (e.style.visibility=="visible")?"hidden":"visible" } </script> </head> <body bgcolor="#FFFFFF" text="#000000"> <table> <tr> <td> <a href="#" id="link" onclick="vis(this);">Kliks</a> <br>dshlshgflkshdglkjhslgfd <td> </tr> </table> <div id="boxelement">Tekst</div> </body> </html>
28. november 2003 - 17:23
#20
Præcis hvad jeg skulle bruge!! Jeg tester det lige igennem lidt grundigere... Men mange tak for hjælpen.
Læg et svar i
http://www.eksperten.dk/spm/433437 så får du point.
Vi tilbyder markedets bedste kurser inden for webudvikling