summaryrefslogtreecommitdiff
path: root/p/scripts
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2014-02-04 17:47:01 +0100
committerGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2014-02-04 17:47:01 +0100
commit797dd21282214c2da6c422d7192dfe8c1de2c824 (patch)
tree46ca447f7226867bd9227ad3f6d96d81525edd62 /p/scripts
parent12247b2ce3e49382524ef67feec0ba7622a47066 (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.js20
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);
+ }
}
}