From 9a818f55f4a4ca4f88c2a29f8e77ea6cb2153de6 Mon Sep 17 00:00:00 2001 From: "smain@google.com" Date: Fri, 3 Oct 2014 09:25:59 -0700 Subject: [PATCH] more fixes to scroll offset for the sticky header. This offsets the layout position of all tags so they naturally show up below the sticky nav bar... though this is only for API reference, which uses tags as anchors for all API members. bug: 16924057 Change-Id: I88c1e8192f1cbb5373af592b9e9f9a04ffe6fc7c --- tools/droiddoc/templates-sdk/assets/css/default.css | 8 ++++++++ tools/droiddoc/templates-sdk/assets/js/docs.js | 11 ++++------- tools/droiddoc/templates-sdk/class.cs | 2 ++ tools/droiddoc/templates-sdk/classes.cs | 2 ++ tools/droiddoc/templates-sdk/package.cs | 2 ++ tools/droiddoc/templates-sdk/packages.cs | 2 ++ 6 files changed, 20 insertions(+), 7 deletions(-) diff --git a/tools/droiddoc/templates-sdk/assets/css/default.css b/tools/droiddoc/templates-sdk/assets/css/default.css index 8c866c1106..dc6166a3a9 100644 --- a/tools/droiddoc/templates-sdk/assets/css/default.css +++ b/tools/droiddoc/templates-sdk/assets/css/default.css @@ -4206,6 +4206,14 @@ EndColorStr='#ececec'); z-index: 52; } +/* offset the tags in reference to account for sticky nav */ +body.reference a[name] { + visibility: hidden; + display: block; + position: relative; + top: -56px; +} + } diff --git a/tools/droiddoc/templates-sdk/assets/js/docs.js b/tools/droiddoc/templates-sdk/assets/js/docs.js index f03fb888fa..5e548c8530 100644 --- a/tools/droiddoc/templates-sdk/assets/js/docs.js +++ b/tools/droiddoc/templates-sdk/assets/js/docs.js @@ -2535,16 +2535,13 @@ google.setOnLoadCallback(function(){ } }, true); -/* Adjust the scroll position to account for sticky header, only if the hash matches an id */ +/* Adjust the scroll position to account for sticky header, only if the hash matches an id. + This does not handle tags. Some CSS fixes those, but only for reference docs. */ function offsetScrollForSticky() { var hash = escape(location.hash.substr(1)); var $matchingElement = $("#"+hash); - // If there's no element with the hash as an ID, then look for an with it. - if ($matchingElement.length < 1) { - $matchingElement = $('a[name="' + hash + '"]'); - } - // Sanity check that there's an element with that ID on the page - if ($matchingElement.length) { + // Sanity check that hash is a real hash and that there's an element with that ID on the page + if ((hash.indexOf("#") == 0) && $matchingElement.length) { // If the position of the target element is near the top of the page (<20px, where we expect it // to be because we need to move it down 60px to become in view), then move it down 60px if (Math.abs($matchingElement.offset().top - $(window).scrollTop()) < 20) { diff --git a/tools/droiddoc/templates-sdk/class.cs b/tools/droiddoc/templates-sdk/class.cs index 0461af6292..b6ec19fb91 100644 --- a/tools/droiddoc/templates-sdk/class.cs +++ b/tools/droiddoc/templates-sdk/class.cs @@ -4,6 +4,8 @@ diff --git a/tools/droiddoc/templates-sdk/classes.cs b/tools/droiddoc/templates-sdk/classes.cs index 6769f473fa..06592d4b30 100644 --- a/tools/droiddoc/templates-sdk/classes.cs +++ b/tools/droiddoc/templates-sdk/classes.cs @@ -4,6 +4,8 @@ diff --git a/tools/droiddoc/templates-sdk/package.cs b/tools/droiddoc/templates-sdk/package.cs index 99eaff228f..445e606c32 100644 --- a/tools/droiddoc/templates-sdk/package.cs +++ b/tools/droiddoc/templates-sdk/package.cs @@ -5,6 +5,8 @@ diff --git a/tools/droiddoc/templates-sdk/packages.cs b/tools/droiddoc/templates-sdk/packages.cs index 44680c30a4..5056d3a5d7 100644 --- a/tools/droiddoc/templates-sdk/packages.cs +++ b/tools/droiddoc/templates-sdk/packages.cs @@ -4,6 +4,8 @@