aboutsummaryrefslogtreecommitdiffstats
path: root/doc/toc.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/toc.html')
-rw-r--r--doc/toc.html27
1 files changed, 24 insertions, 3 deletions
diff --git a/doc/toc.html b/doc/toc.html
index ba26d17e3..68be9f5b8 100644
--- a/doc/toc.html
+++ b/doc/toc.html
@@ -67,7 +67,7 @@
</div>
</div>
<script>
-
+ toc = {};
// Generate the table of contents in the side nav menu (see view/tpl/help.tpl)
$(document).ready(function () {
$(".panel-collapse.in").find('a').each(function(){
@@ -88,8 +88,29 @@
}
});
- $(document.body).trigger("sticky_kit:recalc");
+ $(document.body).trigger("sticky_kit:recalc");
+
+ toc.contentTop = [];
+ toc.edgeMargin = 20; // margin above the top or margin from the end of the page
+ toc.topRange = 200; // measure from the top of the viewport to X pixels down
+ // Set up content an array of locations
+ $('#doco-side-toc').find('a').each(function(){
+ toc.contentTop.push( $( '#'+$(this).attr('href').split('#').pop() ).offset().top );
+ });
- });
+ // adjust side menu
+ $(window).scroll(function(){
+ var winTop = $(window).scrollTop(),
+ bodyHt = $(document).height(),
+ vpHt = $(window).height() + toc.edgeMargin; // viewport height + margin
+ $.each( toc.contentTop, function(i,loc){
+ if ( ( loc > winTop - toc.edgeMargin && ( loc < winTop + toc.topRange || ( winTop + vpHt ) >= bodyHt ) ) ){
+ $('#doco-side-toc li')
+ .removeClass('selected-doco-nav')
+ .eq(i).addClass('selected-doco-nav');
+ }
+ });
+ });
+ });
</script>