source: flair-dev/trunk/doc/Flair/resize.js@ 20

Last change on this file since 20 was 14, checked in by Sanahuja Guillaume, 9 years ago

doc

File size: 2.7 KB
RevLine 
[14]1var cookie_namespace = 'doxygen';
2var sidenav,navtree,content,header;
3
4function readCookie(cookie)
5{
6 var myCookie = cookie_namespace+"_"+cookie+"=";
7 if (document.cookie)
8 {
9 var index = document.cookie.indexOf(myCookie);
10 if (index != -1)
11 {
12 var valStart = index + myCookie.length;
13 var valEnd = document.cookie.indexOf(";", valStart);
14 if (valEnd == -1)
15 {
16 valEnd = document.cookie.length;
17 }
18 var val = document.cookie.substring(valStart, valEnd);
19 return val;
20 }
21 }
22 return 0;
23}
24
25function writeCookie(cookie, val, expiration)
26{
27 if (val==undefined) return;
28 if (expiration == null)
29 {
30 var date = new Date();
31 date.setTime(date.getTime()+(10*365*24*60*60*1000)); // default expiration is one week
32 expiration = date.toGMTString();
33 }
34 document.cookie = cookie_namespace + "_" + cookie + "=" + val + "; expires=" + expiration+"; path=/";
35}
36
37function resizeWidth()
38{
39 var windowWidth = $(window).width() + "px";
40 var sidenavWidth = $(sidenav).outerWidth();
41 content.css({marginLeft:parseInt(sidenavWidth)+"px"});
42 writeCookie('width',sidenavWidth, null);
43}
44
45function restoreWidth(navWidth)
46{
47 var windowWidth = $(window).width() + "px";
48 content.css({marginLeft:parseInt(navWidth)+6+"px"});
49 sidenav.css({width:navWidth + "px"});
50}
51
52function resizeHeight()
53{
54 var headerHeight = header.outerHeight();
55 var footerHeight = footer.outerHeight();
56 var windowHeight = $(window).height() - headerHeight - footerHeight;
57 content.css({height:windowHeight + "px"});
58 navtree.css({height:windowHeight + "px"});
59 sidenav.css({height:windowHeight + "px",top: headerHeight+"px"});
60}
61
62function initResizable()
63{
64 header = $("#top");
65 sidenav = $("#side-nav");
66 content = $("#doc-content");
67 navtree = $("#nav-tree");
68 footer = $("#nav-path");
69 $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } });
70 $(window).resize(function() { resizeHeight(); });
71 var width = readCookie('width');
72 if (width) { restoreWidth(width); } else { resizeWidth(); }
73 resizeHeight();
74 var url = location.href;
75 var i=url.indexOf("#");
76 if (i>=0) window.location.hash=url.substr(i);
77 var _preventDefault = function(evt) { evt.preventDefault(); };
78 $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault);
79 $(document).bind('touchmove',function(e){
80 var device = navigator.userAgent.toLowerCase();
81 var ios = device.match(/(iphone|ipod|ipad)/);
82 if (ios) {
83 try {
84 var target = e.target;
85 while (target) {
86 if ($(target).css('-webkit-overflow-scrolling')=='touch') return;
87 target = target.parentNode;
88 }
89 e.preventDefault();
90 } catch(err) {
91 e.preventDefault();
92 }
93 }
94 });
95}
96
97
Note: See TracBrowser for help on using the repository browser.