24. januar 2009 - 17:33
Der er
20 kommentarer og 1 løsning
Tabel 'forsvinder'
Hej, Jeg er ved at lave en kalender, holder man over en dato, vises en tabel med de(n) ting der sker den pågældende dag. function showEvent(id) { var table = document.getElementById(id); var mouse = getMouseCordinates(); // Henter musens kordinater alert("Mouse: " + mouse[0] + " " + mouse[1]); table.style.position = "absolute"; table.style.left = mouse[0]; table.style.top = mouse[1]; table.style.display = "block"; } function hideEvent(id) { var table = document.getElementById(id); table.style.display = "none"; } Jeg har så en tabel med et unikt navn/id for den 3. januar har jeg f.eks. følgende: date_1_3 Tabellen kunne se sådan ud: <table id='date_1_3' style='display: none'> <tr> <td>100 m. sækkeløb</td> </tr> </table> Og min kalender: <snip> <td><a href='link' onMouseOver='showEvent("date_1_3")' onMouseOut='hideEvent=("date_1_3")'>3 januar</a></td> <snip> Når jeg kører musen hen over linket første gang vises den tilhørende tabel. Anden gang sker der sådan ca. intet. Nogen ideer til hvorfor dette sker?
Annonceindlæg fra Computerworld
24. januar 2009 - 17:43
#1
du skak have et ; ind i mellem dine funktionskald: <a href='link' onMouseOver='showEvent("date_1_3")' onMouseOut='hideEvent=("date_1_3")'>3 januar</a>
24. januar 2009 - 17:44
#2
glem det det gik for stærkt
24. januar 2009 - 17:44
#3
'hideEvent=("date_1_3")' skal være: 'hideEvent("date_1_3")'
24. januar 2009 - 17:47
#4
Hmm, det virker overhovedet ikke i firefox...
24. januar 2009 - 17:48
#5
får du nogle js-fejl?
24. januar 2009 - 17:51
#6
Nix ikke en eneste. Linket ser ud som følgenden: <td valign='center' align='center'><font size='2' face='Verdana'><a href='#' onMouseOver='showEvent("date_1_3");' onMouseOut='hideEvent("date_1_3");'>3 januar</a></font> Så kommer den aktuelle tabel der skal vises (inde i den samme td)...
24. januar 2009 - 17:59
#7
den bliver vist som den skal 1. gang? og skjult igen? men ikke 2. gang?
24. januar 2009 - 18:03
#8
I IE8 ja. Det virker tilsyneladende fint i IE7. Firefox viser dog slet ikke tabellen.
24. januar 2009 - 18:10
#9
ie8 ville jeg nok ikke designe noget kode efter, så længe det er en beta... får du din alert med koordinater frem i ff?
24. januar 2009 - 18:19
#10
Nej overhovedet ikke. Det undrer også mig.
24. januar 2009 - 18:33
#11
jeg ved ikke om det gør en forskel, men prøv med onmouseover onmouseout - altså kun med små bogstaver
24. januar 2009 - 18:38
#12
det gør ikke nogen forskel.
24. januar 2009 - 18:56
#13
<ole> var mouse = getMouseCordinates(); // Henter musens kordinater Det tror jeg ikke, getMouseCordinates kan, sådan som du kalder den. Prøv lige at vise den /mvh </bole>
24. januar 2009 - 18:59
#14
Fandt den på nettet og synes det lød meget godt at den skulle fungere på tværs af alle browsere. I IE er det clientX/clientY der bruges. function getMouseCordinates() { var posx = 0; var posy = 0; var e = window.event; if (e.pageX || e.pageY){ posx = e.pageX; posy = e.pageY; } else if (e.clientX || e.clientY){ posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; } return new Array(posx, posy); }
24. januar 2009 - 20:49
#15
Jamen, den virker skam kun i IE =) function getMouseCordinates(e) { e = e ? e : window.event; var posx = 0; var posy = 0; if (e.pageX || e.pageY){ posx = e.pageX; posy = e.pageY; } else if (e.clientX || e.clientY){ posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; } return new Array(posx, posy); } function showEvent(id, e) { var table = document.getElementById(id); var mouse = getMouseCordinates(e); // Henter musens kordinater alert("Mouse: " + mouse[0] + " " + mouse[1]); table.style.position = "absolute"; table.style.left = mouse[0] + "px"; table.style.top = mouse[1] + "px"; table.style.display = "block"; } <a href='link' onMouseOver='showEvent("date_1_3", event)' onMouseOut='hideEvent=("date_1_3")'>3 januar</a>
24. januar 2009 - 20:49
#16
- og husk altid at have fejlkonsollen åben, når du tester i FF ;o)
24. januar 2009 - 22:05
#17
Virker perfekt :D Smid et svar begge to. Så får i point (30 til olebole og 15 til splazz)
25. januar 2009 - 12:32
#18
velbekomme :)
04. november 2010 - 11:05
#19
ole? moddi?
04. november 2010 - 17:22
#20
Tror vi siger ole har haft tid nok til at lægge et svar :)
04. november 2010 - 19:23
#21
jamen tak for point så :)
Vi tilbyder markedets bedste kurser inden for webudvikling