Skip to content

Instantly share code, notes, and snippets.

@fixable11
Created September 15, 2018 14:17
Show Gist options
  • Save fixable11/a2aad0b766677ff1b28b268b3cae098c to your computer and use it in GitHub Desktop.
Save fixable11/a2aad0b766677ff1b28b268b3cae098c to your computer and use it in GitHub Desktop.
$(function() {
var $window = $(window);
var $sidebar = $(".sidebar");
var $sidebarTop = $sidebar.position().top;
var $sidebarHeight = $sidebar.height();
var $footer = $('.footer');
var $footerTop = $footer.position().top;
$window.scroll(function(event) {
$sidebar.addClass("fixed");
var $scrollTop = $window.scrollTop();
var $topPosition = Math.max(0, $sidebarTop - $scrollTop);
if ($scrollTop + $sidebarHeight > $footerTop) {
var $topPosition = Math.min($topPosition, $footerTop - $scrollTop - $sidebarHeight);
}
$sidebar.css("top", $topPosition);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment