Hello there!
I’m having problems with a footer menu and it’s anchors. Lookin on the forum I’ve found another thread with a similar problem and I’ve applied the following code on the JS custom:
jQuery(document).ready(function($) {
var $body = $(‘body’);
var bodyHeight = $body.outerHeight();
var adminbarHeight = $(’#wpadminbar’).outerHeight();
var navbarFixedTopHeight = 58;
var locHref = location.href;
var locHashIndex = locHref.indexOf(’#’);
var locHash = locHref.substr(locHashIndex);
var dragging = false;
$body.on(‘touchmove’, function() {
dragging = true;
} );
$body.on(‘touchstart’, function() {
dragging = false;
} );
//
// Calculate the offset height for various elements and remove it from
// the element’s top offset so that fixed elements don’t cover it up.
//
function animateOffset( element, ms, easing ) {
$(‘html, body’).animate({
scrollTop: $(element).offset().top - adminbarHeight - navbarFixedTopHeight + 1
}, ms, easing);
}
//
// Page load offset (if necessary).
//
$(window).load(function() {
if ( locHashIndex !== -1 && $(locHash).length ) {
animateOffset(locHash, 1, ‘linear’);
}
});
//
// Scroll trigger.
//
$(‘a[href*="#"]’).unbind(‘touchend click’).bind(‘touchend click’, function(e) {
console.log($(’.hm1.x-bar-fixed’).outerHeight());
href = $(this).attr(‘href’);
notComments = href.indexOf(’#comments’) === -1;
if ( href !== ‘#’ && notComments ) {
var theId = href.split(’#’).pop();
var $el = $(’#’ + theId);
if ( $el.length > 0 ) {
e.preventDefault();
if (dragging) {
return;
}
animateOffset($el, 850, 'easeInOutExpo');
}
}
});
});
The code resolved the spacing on my sticky header, so now, when I jump from any page to the desired link the space is correct so the content starts before the header.
The problem now is that I have a footer menu with the same anchors and the anchors does not work on this page, in any other does.
Any suggestions?