diff options
| author | 2014-02-04 17:47:01 +0100 | |
|---|---|---|
| committer | 2014-02-04 17:47:01 +0100 | |
| commit | 797dd21282214c2da6c422d7192dfe8c1de2c824 (patch) | |
| tree | 46ca447f7226867bd9227ad3f6d96d81525edd62 /p/scripts | |
| parent | 12247b2ce3e49382524ef67feec0ba7622a47066 (diff) | |
Si nécessaire, défile lors du raccourci pour partager
Corrige
http://marienfressinaud.fr/index.php?article141/freshrss-0-7-ca-casse-et-ca-passe#c1391357481-1
Diffstat (limited to 'p/scripts')
| -rw-r--r-- | p/scripts/main.js | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/p/scripts/main.js b/p/scripts/main.js index 2345bf531..c4c0db21a 100644 --- a/p/scripts/main.js +++ b/p/scripts/main.js @@ -20,6 +20,16 @@ function redirect(url, new_tab) { } } +function needsScroll($elem) { + var $win = $(window), + winTop = $win.scrollTop(), + winHeight = $win.height(), + winBottom = winTop + winHeight, + elemTop = $elem.offset().top, + elemBottom = elemTop + $elem.outerHeight(); + return (elemTop < winTop || elemBottom > winBottom) ? elemTop - (winHeight / 2) : 0; +} + function str2int(str) { if (str == '') { return 0; @@ -255,9 +265,13 @@ function collapse_entry() { } function auto_share() { - var share = $(".flux.current.active").find('.dropdown-target[id^="dropdown-share"]'); - if (share.length) { - window.location.hash = share.attr('id'); + var $share = $(".flux.current").find('.dropdown-target[id^="dropdown-share"]'); + if ($share.length) { + window.location.hash = $share.attr('id'); + var scroll = needsScroll($share.closest('.bottom')); + if (scroll != 0) { + $('html,body').scrollTop(scroll); + } } } |
