mirror of
https://github.com/gcushen/hugo-academic.git
synced 2025-07-26 19:15:16 +02:00
Fix smooth scrolling for Home and Back to Top links
This commit is contained in:
parent
e59e1382e5
commit
1e3879e5a7
3 changed files with 32 additions and 14 deletions
|
@ -1,6 +1,4 @@
|
||||||
# Website URL (e.g. http://www.example.com/)
|
baseurl = "http://replace-this-with-your-website-url.com/"
|
||||||
baseurl = "/"
|
|
||||||
|
|
||||||
title = "Academic Theme"
|
title = "Academic Theme"
|
||||||
copyright = "© 2016 Your Name"
|
copyright = "© 2016 Your Name"
|
||||||
languageCode = "en-us"
|
languageCode = "en-us"
|
||||||
|
@ -86,7 +84,7 @@ googleAnalytics = ""
|
||||||
|
|
||||||
[[menu.main]]
|
[[menu.main]]
|
||||||
name = "Home"
|
name = "Home"
|
||||||
url = "#"
|
url = "#top"
|
||||||
weight = 1
|
weight = 1
|
||||||
|
|
||||||
[[menu.main]]
|
[[menu.main]]
|
||||||
|
|
|
@ -26,4 +26,4 @@
|
||||||
<title>{{ if not .IsHome }}{{ .Title }} | {{ end }}{{ .Site.Title }}</title>
|
<title>{{ if not .IsHome }}{{ .Title }} | {{ end }}{{ .Site.Title }}</title>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body id="top">
|
||||||
|
|
|
@ -9,11 +9,13 @@
|
||||||
* Add smooth scrolling to all links inside the main navbar.
|
* Add smooth scrolling to all links inside the main navbar.
|
||||||
* --------------------------------------------------------------------------- */
|
* --------------------------------------------------------------------------- */
|
||||||
|
|
||||||
$("#navbar-main li.nav-item a").on('click', function(event){
|
$('#navbar-main li.nav-item a').on('click', function(event){
|
||||||
|
|
||||||
|
// Store requested URL hash.
|
||||||
var hash = this.hash;
|
var hash = this.hash;
|
||||||
|
|
||||||
if( hash && $(hash).length && ($("#homepage").length > 0)) {
|
// If we are on the homepage and the navigation bar link is to a homepage section.
|
||||||
|
if( hash && $(hash).length && ($("#homepage").length > 0)){
|
||||||
// Prevent default click behavior
|
// Prevent default click behavior
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
|
@ -25,18 +27,36 @@
|
||||||
scrollTop: $(hash).offset().top - navbarHeight
|
scrollTop: $(hash).offset().top - navbarHeight
|
||||||
}, 800, function () {
|
}, 800, function () {
|
||||||
// Add hash (#) to URL once finished scrolling to hash position
|
// Add hash (#) to URL once finished scrolling to hash position
|
||||||
window.location.hash = hash;
|
if (hash == "#top"){
|
||||||
|
window.location.hash = ""
|
||||||
|
}else {
|
||||||
|
window.location.hash = hash;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/* ---------------------------------------------------------------------------
|
||||||
|
* Smooth scrolling for Back To Top link.
|
||||||
|
* --------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
$('#back_to_top').on('click', function(event){
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
$('html, body').animate({
|
||||||
|
'scrollTop': 0
|
||||||
|
}, 800, function(){
|
||||||
|
window.location.hash = ""
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
/* ---------------------------------------------------------------------------
|
/* ---------------------------------------------------------------------------
|
||||||
* Smooth scrolling for mouse wheel.
|
* Smooth scrolling for mouse wheel.
|
||||||
* --------------------------------------------------------------------------- */
|
* --------------------------------------------------------------------------- */
|
||||||
|
|
||||||
function smoothScroll(scrollTime, scrollDistance){
|
function smoothScroll(scrollTime, scrollDistance){
|
||||||
|
|
||||||
if (navigator.userAgent.indexOf('Mac') != -1 || navigator.userAgent.indexOf('Firefox') > -1 || jQuery('body').hasClass('is-horizontal')) {
|
if (navigator.userAgent.indexOf('Mac') != -1 || navigator.userAgent.indexOf('Firefox') > -1 || jQuery('body').hasClass('is-horizontal')){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -63,15 +83,15 @@
|
||||||
* Hide mobile collapsable menu on clicking a link.
|
* Hide mobile collapsable menu on clicking a link.
|
||||||
* --------------------------------------------------------------------------- */
|
* --------------------------------------------------------------------------- */
|
||||||
|
|
||||||
$(document).on('click','.navbar-collapse.in',function(e) {
|
$(document).on('click','.navbar-collapse.in',function(e){
|
||||||
if( $(e.target).is('a') && $(e.target).attr('class') != 'dropdown-toggle' ) {
|
if( $(e.target).is('a') && $(e.target).attr('class') != 'dropdown-toggle' ){
|
||||||
$(this).collapse('hide');
|
$(this).collapse('hide');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
/* --------------------------------------------------------------------------------------------------------------------------
|
/* ---------------------------------------------------------------------------
|
||||||
* On Window Load.
|
* On window load.
|
||||||
* ----------------------------------------------------------------------------------------------------------------------- */
|
* --------------------------------------------------------------------------- */
|
||||||
|
|
||||||
$(window).load(function(){
|
$(window).load(function(){
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue