diff options
author | Karl Hallsby <karl@hallsby.com> | 2020-09-27 17:45:13 -0500 |
---|---|---|
committer | Karl Hallsby <karl@hallsby.com> | 2020-09-27 17:45:13 -0500 |
commit | c6bf5f7c895287d2028f6024265913b59784a154 (patch) | |
tree | 3a298df17d9472a679411dd81ea00a1239652477 /_includes/scripts/aside/affix.js | |
parent | 50dafcddc0392b99b228824274b1b97d0e72e423 (diff) |
Bring all of jekyll-text-theme _includes into site
Diffstat (limited to '_includes/scripts/aside/affix.js')
-rw-r--r-- | _includes/scripts/aside/affix.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/_includes/scripts/aside/affix.js b/_includes/scripts/aside/affix.js new file mode 100644 index 0000000..1db3b8e --- /dev/null +++ b/_includes/scripts/aside/affix.js @@ -0,0 +1,26 @@ +(function() { + var SOURCES = window.TEXT_VARIABLES.sources; + window.Lazyload.js(SOURCES.jquery, function() { + var $window = $(window), $pageFooter = $('.js-page-footer'); + var $pageAside = $('.js-page-aside'); + var affix; + var tocDisabled = false; + var hasSidebar = $('.js-page-root').hasClass('layout--page--sidebar'); + + affix = $pageAside.affix({ + offsetBottom: $pageFooter.outerHeight(), + scrollTarget: hasSidebar ? '.js-page-main' : null, + scroller: hasSidebar ? '.js-page-main' : null, + scroll: hasSidebar ? $('.js-page-main').children() : null, + disabled: tocDisabled + }); + + $window.on('resize', window.throttle(function() { + affix && affix.setOptions({ + disabled: tocDisabled + }); + }, 100)); + + window.pageAsideAffix = affix; + }); +})(); |