diff options
author | Stan Hu <stanhu@gmail.com> | 2015-08-29 01:59:04 -0700 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2015-08-29 02:05:37 -0700 |
commit | 1fdf56c95d82292a3050578fed3bb258abbc6e9c (patch) | |
tree | 2d7ea43c7f613cc6eb6e9f829557df2a32ba825c | |
parent | a429eb4d455cabde26c5cdf8a3b38e65966531dc (diff) | |
download | gitlab-ce-1fdf56c95d82292a3050578fed3bb258abbc6e9c.tar.gz |
Prevent anchors from being hidden by header upon a new page load.
Browsers change the scroll position after the page is loaded, and the current 1 ms
delay wasn't long enough for the browser to jump to the anchor. Even then, it appears
another 100ms delay is necessary to adjust the scroll properly:
http://stackoverflow.com/questions/19057731/scrolltop-on-page-reload-doesnt-work-possible-script-conflict
Add a little more of an offset to see a few lines before the anchor.
Closes #1614
Closes #1024
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | app/assets/javascripts/application.js.coffee | 12 |
2 files changed, 8 insertions, 5 deletions
diff --git a/CHANGELOG b/CHANGELOG index b827b7c69eb..2cda1a4626c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ Please view this file on the master branch, on stable branches it's out of date. v 8.0.0 (unreleased) + - Prevent anchors from being hidden by header (Stan Hu) - Upgrade gitlab_git to 7.2.15 to fix `git blame` errors with ISO-encoded files (Stan Hu) - Prevent too many redirects upon login when home page URL is set to external_url (Stan Hu) - Improve dropdown positioning on the project home page (Hannes Rosenögger) diff --git a/app/assets/javascripts/application.js.coffee b/app/assets/javascripts/application.js.coffee index c263912b7ea..8e987ac4e83 100644 --- a/app/assets/javascripts/application.js.coffee +++ b/app/assets/javascripts/application.js.coffee @@ -94,16 +94,18 @@ window.unbindEvents = -> $(document).off('scroll') window.shiftWindow = -> - scrollBy 0, -50 + scrollBy 0, -100 document.addEventListener("page:fetch", unbindEvents) -# Scroll the window to avoid the topnav bar -# https://github.com/twitter/bootstrap/issues/1768 -if location.hash - setTimeout shiftWindow, 1 window.addEventListener "hashchange", shiftWindow +window.onload = -> + # Scroll the window to avoid the topnav bar + # https://github.com/twitter/bootstrap/issues/1768 + if location.hash + setTimeout shiftWindow, 100 + $ -> $(".nicescroll").niceScroll(cursoropacitymax: '0.4', cursorcolor: '#FFF', cursorborder: "1px solid #FFF") |