Situatie:
Ik heb een lijst met buttons, hiervoor heb ik een leuk stukje JavaScript geknutseld dat bij de rechter muis knop een mooi PopUp venstertje tevoorschijn komt, met daarin wat extra info.
Probleem:
De PopUp komt alleen bij de eerste paar buttons goed, maar zodra je naar beneden scrolled niet meer. (dan staat hij -veel- te hoog)
Oorzaak:
Volgens mij werkt position: absolute op de frame, en niet op het zichtbare werkvlak.
Oplossing:
op een of andere manier de positionering op het werkvlak krijgen ipv het frame.
Ter extra illustratie, even de code . . .
Mogelijk ontdekken jullie het probleem wat ik niet zie
Ik heb een lijst met buttons, hiervoor heb ik een leuk stukje JavaScript geknutseld dat bij de rechter muis knop een mooi PopUp venstertje tevoorschijn komt, met daarin wat extra info.
Probleem:
De PopUp komt alleen bij de eerste paar buttons goed, maar zodra je naar beneden scrolled niet meer. (dan staat hij -veel- te hoog)
Oorzaak:
Volgens mij werkt position: absolute op de frame, en niet op het zichtbare werkvlak.
Oplossing:
op een of andere manier de positionering op het werkvlak krijgen ipv het frame.
Ter extra illustratie, even de code . . .
Mogelijk ontdekken jullie het probleem wat ik niet zie
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
| <script type="text/javascript" language="Javascript"> <!-- Hide script from older browsers var MaxWidth = document.documentElement.offsetWidth - 160; popUpCurrentOpen = 'popUp1'; if (document.getElementById) { stdBrowser = true } else { stdBrowser = false } function popUp(evt,currElem) { popDown(popUpCurrentOpen) if (stdBrowser) { popUpWin = document.getElementById(currElem).style } else { popUpWin = eval("document." + currElem) } if (document.all) { popUpWin.pixelTop = parseInt(evt.y)+2 popUpWin.pixelLeft = Math.max(2,parseInt(evt.x)+2) if (popUpWin.pixelLeft > MaxWidth) { popUpWin.pixelLeft = Math.max(2,parseInt(evt.x)-160) } } else { if (stdBrowser) { popUpWin.top = parseInt(evt.pageY)+2 + "px" popUpWin.left = Math.max(2,parseInt(evt.pageX)+2) + "px" } else { popUpWin.top = parseInt(evt.pageY)+2 popUpWin.left = Math.max(2,parseInt(evt.pageX)+2) } } popUpWin.visibility = "visible" popUpCurrentOpen = currElem; } function popDown(currElem) { if (stdBrowser) { popUpWin = document.getElementById(currElem).style } else { popUpWin = eval("document." + currElem) } popUpWin.visibility = "hidden" } function MouseOverMenuItem(currElem) { if (stdBrowser) { Item = document.getElementById(currElem).style } else { Item = eval("document." + currElem) } Item.background = "#000000"; Item.color = "#FFFFFF"; } function MouseIdleMenuItem(currElem) { if (stdBrowser) { Item = document.getElementById(currElem).style } else { Item = eval("document." + currElem) } Item.background = "#FFFFFF"; Item.color = "#000000"; } // End hiding script --> </script> <style type="text/css"> <!-- .popUpStyle {backkground-color: #FFFFFF; border: #9D9DA1 2px solid; layer-background-color: #FFFFFF; width: 150px; font: 12px arial, helvetica, sans-serif; padding: 5px; position: absolute; visibility: hidden;} .popUpMouseIdleHeader {width: 150px; cursor: default; background: #FFFFFF; color: #000000; font: 14px arial, helvetica, sans-serif; font-weight: bold; text-align: center;} .popUpMouseIdle {width: 150px; cursor: default; background: #FFFFFF; color: #000000;} .popUpMouseOver {width: 150px; cursor: default; background: #000000; color: #FFFFFF;} --> </style> |