hoi, ik ben mijn site aan het vernieuwen en dit is het resultaat. Nu is de site goed te bekijken met resolutie van 1280x..... en groter, maar bij resolutie kleiner dan 1280x..... komt er een horizontale schuifbalk en alles staat niet op zijn plaats.( Ik heb de site al eens omgebouwd naar 1024x.... maar dan trekt het op niets in grotere resoluties, het is veel te klein.) Ik zou dit willen oplossen door een javascript dat de resolutie van de gebruiker achterhaalt endan de gepaste stylesheet geladen wordt. Echter is dit makkelijker gezegt dan gedaan want ik heb al een optie dat de gebruiker zelf zijn (layout)stylesheet kan kiezen. Dus is het mogelijk dat wanneer de gebruiker op mijn site komt de gepaste stylesheet te laden op basis van de verkregen resolutie. En wanneer de bezoeker zelf een layout kiest op de layout pagina dat het javascript dan het gepaste stylesheet laad ook op basis van de resolutie en deze dan opslaat als in een cookie ?
Ik kom er niet uit ben geen java expert

aparte javascript
Pagina layout kiezen
Ik kom er niet uit ben geen java expert
HTML: index.php
1
2
3
4
5
6
| <link rel="stylesheet" type="text/css" href="ffstyle.css" title="normaal"> <link rel="alternate stylesheet" type="text/css" href="clouds.css" title="clouds"> <link rel="alternate stylesheet" type="text/css" href="redrock.css" title="redrock"> <link rel="alternate stylesheet" type="text/css" href="gras.css" title="gras"> <script type="text/javascript" src="styleswitcher.js"></script> |
aparte javascript
JavaScript: 1
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
| // JavaScript Document function setActiveStyleSheet(title) { var i, a, main; for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) { a.disabled = true; if(a.getAttribute("title") == title) a.disabled = false; } } } function getActiveStyleSheet() { var i, a; for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title"); } return null; } function getPreferredStyleSheet() { var i, a; for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("rel").indexOf("alt") == -1 && a.getAttribute("title") ) return a.getAttribute("title"); } return null; } function createCookie(name,value,days) { if (days) { var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); } else expires = ""; document.cookie = name+"="+value+expires+"; path=/"; } function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } window.onload = function(e) { var cookie = readCookie("style"); var title = cookie ? cookie : getPreferredStyleSheet(); setActiveStyleSheet(title); } window.onunload = function(e) { var title = getActiveStyleSheet(); createCookie("style", title, 365); } var cookie = readCookie("style"); var title = cookie ? cookie : getPreferredStyleSheet(); setActiveStyleSheet(title); |
Pagina layout kiezen
HTML: layout.php
1
2
3
4
5
6
7
8
9
10
11
| <a href="#" onclick="setActiveStyleSheet('normaal'); return false;" title="De normale lettergrootte">Normaal</a> <a href="#" onclick="setActiveStyleSheet('clouds'); return false;" title="De normale lettergrootte">clouds</a> <a href="#" onclick="setActiveStyleSheet('redrock'); return false;" title="De normale lettergrootte">Redrock</a> <a href="#" onclick="setActiveStyleSheet('gras'); return false;" title="De normale lettergrootte">Gras</a> |