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 Context&
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