Merge pull request #3330 from Rudloff/feature/keypress

Scroll to next/previous thread when pressing j/k (fixes #3327)
This commit is contained in:
Hypolite Petovan 2017-04-13 11:42:45 -04:00 committed by GitHub
commit 879ebb1d7f
2 changed files with 34 additions and 0 deletions

10
doc/KeyboardShortcuts.md Normal file
View file

@ -0,0 +1,10 @@
Keyboard shortcuts in Friendica
=======================
* [Home](help)
General
-------
* j: Scroll to next thread
* k: Scroll to previous thread

View file

@ -322,6 +322,30 @@
} }
}); });
// Scroll to the next/previous thread when pressing J and K
$(document).keydown(function (event) {
var threads = $('.thread_level_1');
if ((event.keyCode === 74 || event.keyCode === 75) && !$(event.target).is('textarea, input')) {
var scrollTop = $(window).scrollTop();
if (event.keyCode === 75) {
threads = $(threads.get().reverse());
}
threads.each(function(key, item) {
var comparison;
var top = $(item).offset().top - 100;
if (event.keyCode === 74) {
comparison = top > scrollTop + 1;
} else if (event.keyCode === 75) {
comparison = top < scrollTop - 1;
}
if (comparison) {
$('html, body').animate({ scrollTop: top }, 200);
return false;
}
});
}
});
// Set an event listener for infinite scroll // Set an event listener for infinite scroll
if(typeof infinite_scroll !== 'undefined') { if(typeof infinite_scroll !== 'undefined') {
$(window).scroll(function(e){ $(window).scroll(function(e){