Line 48: | Line 48: | ||
}); | }); | ||
}); | }); | ||
+ | |||
+ | // The function actually applying the offset | ||
+ | function offsetAnchor() { | ||
+ | if (location.hash.length !== 0) { | ||
+ | window.scrollTo(window.scrollX, window.scrollY - 90); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | // 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); | ||
+ | |||
+ | $(document).scroll(function () { // remove "$" | ||
+ | var y = $(this).scrollTop(); | ||
+ | if (y > 300) { | ||
+ | $('.indicator').fadeIn(); | ||
+ | } | ||
+ | else { | ||
+ | $('.indicator').fadeOut(); | ||
+ | } | ||
+ | }); | ||
+ | |||
</script> | </script> | ||
<body> | <body> |
Revision as of 21:12, 14 October 2018