Skip to content

Commit

Permalink
Merge branch 'fix-headers-blocking-anchors' into 'master'
Browse files Browse the repository at this point in the history
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

See merge request !1225
  • Loading branch information
dzaporozhets committed Aug 31, 2015
2 parents e334ec0 + 1fdf56c commit c767e2e
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 5 deletions.
1 change: 1 addition & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -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)
Expand Down
12 changes: 7 additions & 5 deletions app/assets/javascripts/application.js.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -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")

Expand Down

0 comments on commit c767e2e

Please sign in to comment.