diff options
| author | Julien Palard <julien@palard.fr> | 2019-05-08 13:32:08 (GMT) |
|---|---|---|
| committer | Stéphane Wirtel <stephane@wirtel.be> | 2019-05-08 13:32:07 (GMT) |
| commit | 8ab24b2ebcf99f703f00297cb3a0c3ff857eecf8 (patch) | |
| tree | d7fa137a3a09388349b76fd7b33165439580d1b0 | |
| parent | 7c2c01f02a1821298a62dd16ecc3a12da663e14b (diff) | |
| download | cpython-8ab24b2ebcf99f703f00297cb3a0c3ff857eecf8.zip cpython-8ab24b2ebcf99f703f00297cb3a0c3ff857eecf8.tar.gz cpython-8ab24b2ebcf99f703f00297cb3a0c3ff857eecf8.tar.bz2 | |
[2.7] bpo-24712: Doc: Make sidebar sticky using browser support. (GH-13179)
Patch by Mike Taylor.
| -rw-r--r-- | Doc/tools/static/sidebar.js | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Doc/tools/static/sidebar.js b/Doc/tools/static/sidebar.js index 1bdd829..17f818e 100644 --- a/Doc/tools/static/sidebar.js +++ b/Doc/tools/static/sidebar.js @@ -46,6 +46,15 @@ $(function() { var dark_color = $('.related').css('background-color'); var light_color = $('.document').css('background-color'); + // set position: sticky on sidebar + // (browsers that don't support this will fall-back to + // positioning via scroll_sidebar) + var supportsPositionSticky = (window.CSS && window.CSS.supports && + window.CSS.supports('position', 'sticky')); + if (supportsPositionSticky) { + sidebarwrapper.css('position', 'sticky'); + } + function get_viewport_height() { if (window.innerHeight) return window.innerHeight; @@ -157,6 +166,9 @@ $(function() { /* intelligent scrolling */ function scroll_sidebar() { + if (supportsPositionSticky) { + return; + } var sidebar_height = sidebarwrapper.height(); var viewport_height = get_viewport_height(); var offset = sidebar.position()['top']; |
