From 99d5d3d67eaa9c3fb06a82efa8132326c882f40e Mon Sep 17 00:00:00 2001 From: Angie Byron Date: Tue, 30 Sep 2008 06:02:05 +0000 Subject: #184143 by redndahead: Fix #anchor tags conflicting with tableheader.js. --- misc/tableheader.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'misc') diff --git a/misc/tableheader.js b/misc/tableheader.js index 0f0e7de12..7f01d026f 100644 --- a/misc/tableheader.js +++ b/misc/tableheader.js @@ -35,6 +35,9 @@ Drupal.behaviors.tableHeader = function (context) { $(this).addClass('tableHeader-processed'); }); + // Define the anchor holding var. + var prevAnchor = ''; + // Track positioning and visibility. function tracker(e) { // Save positioning data. @@ -62,6 +65,16 @@ Drupal.behaviors.tableHeader = function (context) { var vOffset = (document.documentElement.scrollTop || document.body.scrollTop) - e.vPosition; var visState = (vOffset > 0 && vOffset < e.vLength) ? 'visible' : 'hidden'; $(e).css({left: -hScroll + e.hPosition +'px', visibility: visState}); + + // Check the previous anchor to see if we need to scroll to make room for the header. + // Get the height of the header table and scroll up that amount. + if (prevAnchor != location.hash) { + if (location.hash != '') { + var scrollLocation = $('td' + location.hash).offset().top - $(e).height(); + $('body, html').scrollTop(scrollLocation); + } + prevAnchor = location.hash; + } } // Only attach to scrollbars once, even if Drupal.attachBehaviors is called -- cgit v1.2.3