summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2015-08-29 01:59:04 -0700
committerStan Hu <stanhu@gmail.com>2015-08-29 02:05:37 -0700
commit1fdf56c95d82292a3050578fed3bb258abbc6e9c (patch)
tree2d7ea43c7f613cc6eb6e9f829557df2a32ba825c
parenta429eb4d455cabde26c5cdf8a3b38e65966531dc (diff)
downloadgitlab-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--CHANGELOG1
-rw-r--r--app/assets/javascripts/application.js.coffee12
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")