24 lines
835 B
JavaScript
24 lines
835 B
JavaScript
|
(function($) {
|
||
|
'use strict';
|
||
|
$(function() {
|
||
|
// The function actually applying the offset
|
||
|
function offsetAnchor() {
|
||
|
if (location.hash.length !== 0) {
|
||
|
// window.scrollTo(window.scrollX, window.scrollY - 140);
|
||
|
$("html").animate({ scrollTop: $(location.hash).offset().top - 160 }, 500);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// Captures click events of all <a> elements with href starting with #
|
||
|
$(document).on('click', 'a[href^="#"]', function(event) {
|
||
|
// Click events are captured before hashchanges. Timeout
|
||
|
// causes offsetAnchor to be called after the page jump.
|
||
|
window.setTimeout(function() {
|
||
|
offsetAnchor();
|
||
|
}, 0);
|
||
|
});
|
||
|
|
||
|
// Set the offset when entering page with hash present in the url
|
||
|
window.setTimeout(offsetAnchor, 0);
|
||
|
});
|
||
|
})(jQuery);
|