Ik heb op een website een menu gemaakt met uitklap-submenu's. Nu staan in sommige van deze menu's erg veel opties en daarom heb ik er een maximale lengte aan gegeven.
Deze submenu's bestaan uit een div (met position:absolute) met daarin nog een div en daarin weer een table voor alle opties.
Het probleem is nu dat wanneer ik in zo'n submenu ga scrollen dit af en toe gewoon werkt (de table scrollt netjes), maar vaak scrollt ie de table niet, maar gaat ie ineens de pagina scrollen (waardoor de muis uit het menu gaat en het menu dus weer inklapt).
Om de een of andere reden wordt het scroll-event dus ineens niet meer door de div afgehandeld, maar door de pagina zelf.
Ik heb al wat zitten proberen met "onscroll = event.returnValue=false; event.cancelBubble = true;" in de verschillende div's en table's, maar dat maakte allemaal niets uit.
Weet iemand hoe ik dit op kan lossen?
Mijn code:
Deze submenu's bestaan uit een div (met position:absolute) met daarin nog een div en daarin weer een table voor alle opties.
Het probleem is nu dat wanneer ik in zo'n submenu ga scrollen dit af en toe gewoon werkt (de table scrollt netjes), maar vaak scrollt ie de table niet, maar gaat ie ineens de pagina scrollen (waardoor de muis uit het menu gaat en het menu dus weer inklapt).
Om de een of andere reden wordt het scroll-event dus ineens niet meer door de div afgehandeld, maar door de pagina zelf.
Ik heb al wat zitten proberen met "onscroll = event.returnValue=false; event.cancelBubble = true;" in de verschillende div's en table's, maar dat maakte allemaal niets uit.
Weet iemand hoe ik dit op kan lossen?
Mijn code:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
| <script language="javascript"> function showMenu(menu) { hideMenu(Hoofdoptie1); hideMenu(Hoofdoptie2); if (menu == "[object]") { if (menu.style.display != "block") { menu.style.display = "block"; } } } function hideMenu(menu) { if (menu == "[object]") { if (menu.style.display != "none") { menu.style.display = "none"; } } } </script> <table height="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td> <div style="position: relative;" onmouseover="showMenu(Hoofdoptie1);" style="cursor: hand;"> Hoofdoptie1 <div onmouseout="hideMenu(Hoofdoptie1);" style="height:160px;overflow-y:scroll;"> <table cellpadding="0" cellspacing="0" width="100%"> <tr> <td>Suboptie 1</td> </tr> <tr height="1px" bgcolor="#FFD090"> <td></td> </tr> <tr> <td>Suboptie 2</td> </tr> </table> </div> </div> </td> <td width="25"> </td> <td> <div style="position: relative" onmouseover="showMenu(Hoofdoptie2);" style="cursor: hand;"> Hoofdoptie2 <div onmouseout="hideMenu(Hoofdoptie2);"style="height:160px;overflow-y:scroll;"> <table cellpadding="0" cellspacing="0" width="100%"> <tr> <td>Suboptie 1</td> </tr> <tr height="1px" bgcolor="#FFD090"> <td></td> </tr> <tr> <td>Suboptie 2</td> </tr> </table> </div> </div> </td> </tr> </table> |
[ Voor 21% gewijzigd door maikel op 09-12-2003 11:54 ]