Onderstaand script moet ervoor zorgen dat na een postback de scrollpositie van zowel het hele window als van een DIV bewaard blijft.
Die van het hele window werkt prima, die van de DIV werkt alleen als de scrollpositie van het hele window geen waarde heeft (ofwel niet bestaat, geen scrollbar)...
Hoe kan ik ervoor zorgen dat de scrollpositie van de div ook behouden blijft als de scrollpositie van het window een waarde heeft?
Die van het hele window werkt prima, die van de DIV werkt alleen als de scrollpositie van het hele window geen waarde heeft (ofwel niet bestaat, geen scrollbar)...
JavaScript:
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
| <form ID="Form1"> <div ID="Layout"> blahblah </div> blahblah <input id="FormScrollPosX" type="hidden" runat="server" NAME="FormScrollPosX"> <input id="FormScrollPosY" type="hidden" runat="server" NAME="FormScrollPosY"> <input id="DivScrollPosX" type="hidden" runat="server" NAME="DivScrollPosX"> <input id="DivScrollPosY" type="hidden" runat="server" NAME="DivScrollPosY"> <script language = "javascript"> <!-- function GetCoords() { var FormScrollX, FormScrollY, DivScrollX, DivScrollY; if (document.all) { if (!document.documentElement.scrollLeft) FormScrollX = document.body.scrollLeft; else FormScrollX = document.documentElement.scrollLeft; if (!document.documentElement.scrollTop) FormScrollY = document.body.scrollTop; else FormScrollY = document.documentElement.scrollTop; } else { FormScrollX = window.pageXOffset; FormScrollY = window.pageYOffset; } DivScrollX = document.getElementById("Layout").scrollLeft; DivScrollY = document.getElementById("Layout").scrollTop; document.forms.form1.FormScrollPosX.value = FormScrollX; document.forms.form1.FormScrollPosY.value = FormScrollY; document.forms.form1.DivScrollPosX.value = DivScrollX; document.forms.form1.DivScrollPosY.value = DivScrollY; } function Scroll() { var x = document.forms.form1.FormScrollPosX.value; var y = document.forms.form1.FormScrollPosY.value; window.scrollTo(x, y); document.getElementById("Layout").scrollLeft = document.forms.form1.DivScrollPosX.value; document.getElementById("Layout").scrollTop = document.forms.form1.DivScrollPosY.value; } window.onload = Scroll; window.onscroll = GetCoords; window.onclick = GetCoords; window.onkeypress = GetCoords; document.getElementById("Layout").onscroll = GetCoords; document.getElementById("Layout").onclick = GetCoords; document.getElementById("Layout").onkeypress = GetCoords; // --> </script> </form> |
Hoe kan ik ervoor zorgen dat de scrollpositie van de div ook behouden blijft als de scrollpositie van het window een waarde heeft?
Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com