diff --git a/app/assets/javascripts/paginator.js b/app/assets/javascripts/paginator.js
index 14969a601..c9c0a294e 100644
--- a/app/assets/javascripts/paginator.js
+++ b/app/assets/javascripts/paginator.js
@@ -18,8 +18,8 @@
$(function() {
if ($(".paginator").length && (Danbooru.meta("enable-js-navigation") === "true")) {
- $(document).bind("keydown.right", Danbooru.Paginator.next_page);
- $(document).bind("keydown.left", Danbooru.Paginator.prev_page);
+ $(document).bind("keydown.d", Danbooru.Paginator.next_page);
+ $(document).bind("keydown.a", Danbooru.Paginator.prev_page);
}
});
diff --git a/app/assets/javascripts/posts.js b/app/assets/javascripts/posts.js
index e3859b2d3..93af81ed8 100644
--- a/app/assets/javascripts/posts.js
+++ b/app/assets/javascripts/posts.js
@@ -50,7 +50,7 @@
});
}
- Danbooru.Post.nav_pool_prev = function() {
+ Danbooru.Post.nav_prev = function() {
if ($("#search-seq-nav").length) {
var href = $("#search-seq-nav a[rel=prev]").attr("href");
if (href) {
@@ -64,7 +64,7 @@
}
}
- Danbooru.Post.nav_pool_next = function() {
+ Danbooru.Post.nav_next = function() {
if ($("#search-seq-nav").length) {
var href = $("#search-seq-nav a[rel=next]").attr("href");
location.href = href;
@@ -76,17 +76,21 @@
}
}
- Danbooru.Post.nav_pool_scroll = function() {
- var scroll_top = $(window).scrollTop() + $(window).height();
-
- if (scroll_top > $("#image").height() + $("#image").offset().top + ($("#image").height() / 2)) {
- Danbooru.Post.nav_pool_next();
- return;
+ Danbooru.Post.nav_scroll_down = function() {
+ var scroll_top = $(window).scrollTop() + ($(window).height() * 0.85);
+ Danbooru.scroll_to(scroll_top);
+ }
+
+ Danbooru.Post.nav_scroll_up = function() {
+ var scroll_top = $(window).scrollTop() - ($(window).height() * 0.85);
+ if (scroll_top < 0) {
+ scroll_top = 0;
}
+ Danbooru.scroll_to(scroll_top);
}
Danbooru.Post.initialize_shortcuts = function() {
- $(document).bind("keydown./", function(e) {
+ $(document).bind("keydown.q", function(e) {
$("#tags").trigger("focus");
e.preventDefault();
});
@@ -98,18 +102,22 @@
e.preventDefault();
});
- $(document).bind("keydown.left", function(e) {
- Danbooru.Post.nav_pool_prev();
+ $(document).bind("keydown.a", function(e) {
+ Danbooru.Post.nav_prev();
e.preventDefault();
});
- $(document).bind("keydown.right", function(e) {
- Danbooru.Post.nav_pool_next();
+ $(document).bind("keydown.d", function(e) {
+ Danbooru.Post.nav_next();
e.preventDefault();
});
- $(document).bind("keydown.space", function(e) {
- Danbooru.Post.nav_pool_scroll();
+ $(document).bind("keydown.s", function(e) {
+ Danbooru.Post.nav_scroll_down();
+ })
+
+ $(document).bind("keydown.w", function(e) {
+ Danbooru.Post.nav_scroll_up();
})
}
}
diff --git a/app/assets/javascripts/utility.js b/app/assets/javascripts/utility.js
index b3cf2fa3c..ab70c6fc3 100644
--- a/app/assets/javascripts/utility.js
+++ b/app/assets/javascripts/utility.js
@@ -4,9 +4,15 @@
}
Danbooru.scroll_to = function(element) {
+ var top = null;
+ if (typeof(element) === "number") {
+ top = element;
+ } else {
+ top = element.offset().top - 10;
+ }
$('html, body').animate({
- scrollTop: element.offset().top - 10
- }, 250);
+ scrollTop: top
+ }, 0);
}
Danbooru.notice = function(msg) {
diff --git a/app/views/static/keyboard_shortcuts.html.erb b/app/views/static/keyboard_shortcuts.html.erb
index 6523c0438..8f24e20dd 100644
--- a/app/views/static/keyboard_shortcuts.html.erb
+++ b/app/views/static/keyboard_shortcuts.html.erb
@@ -5,9 +5,9 @@
Listing
-