From ac2afbaf3fe5fbcb800679a1f388b9c3509901a2 Mon Sep 17 00:00:00 2001 From: r888888888 Date: Mon, 25 Sep 2017 19:09:30 -0700 Subject: [PATCH] tweak js --- app/assets/javascripts/posts.js | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/app/assets/javascripts/posts.js b/app/assets/javascripts/posts.js index c5191bec4..1ab31dbb4 100644 --- a/app/assets/javascripts/posts.js +++ b/app/assets/javascripts/posts.js @@ -46,27 +46,36 @@ if (!mq.matches) { return; } + var hasPrev = $("a[rel~=prev]").length; + var hasNext = $("a[rel~=next]").length; $("body").hammer().bind("pan", function(e) { + if (Math.abs(e.gesture.deltaY) > 100) { + $("body").css({"transition-timing-function": "ease", "transition-duration": "0.5s", "transform": "none"}); + return; + } + if (e.gesture.deltaX > 0 && !hasPrev) { + return; + } + if (e.gesture.deltaX < 0 && !hasNext) { + return; + } var percentage = 100 * e.gesture.deltaX / window.innerWidth; - if (percentage < -20 || e.gesture.velocityX <= -0.6) { - $("body").css({"transition-timing-function": "linear", "transition-duration": "0.1s", "transform": "translateX(" + percentage + "%)"}); - } else if (percentage > 20 || e.gesture.velocityX >= 0.6) { - $("body").css({"transition-timing-function": "linear", "transition-duration": "0.1s", "transform": "translateX(" + percentage + "%)"}); + if (Math.abs(percentage) > 10) { + $("body").css({"transition-duration": "0.1s", "transform": "translateX(" + percentage + "%)"}); } }); - var hasNext = $(".paginator a[rel~=next]").length > 0; - var hasPrev = $("#a-show").length || $(".paginator a[rel~=prev]").length > 0; - $("body").hammer().bind("panend", function(e) { var percentage = e.gesture.deltaX / window.innerWidth; - if (hasPrev && percentage > 0.3) { + if (Math.abs(e.gesture.deltaY) > 100) { + $("body").css({"transition-timing-function": "ease", "transition-duration": "0.5s", "transform": "none"}); + } else if (percentage > 0.3 && hasPrev) { $("body").css({"transition-timing-function": "ease", "transition-duration": "0.3s", "opacity": "0", "transform": "translateX(150%)"}); - $.timeout(250).done(function() {Danbooru.Post.nav_prev(e)}); - } else if (hasNext && percentage < -0.3) { + $.timeout(300).done(function() {Danbooru.Post.nav_prev(e)}); + } else if (percentage < -0.3 && hasNext) { $("body").css({"transition-timing-function": "ease", "transition-duration": "0.3s", "opacity": "0", "transform": "translateX(-150%)"}); - $.timeout(250).done(function() {Danbooru.Post.nav_next(e)}); + $.timeout(300).done(function() {Danbooru.Post.nav_next(e)}); } else { $("body").css({"transition-timing-function": "ease", "transition-duration": "0.5s", "transform": "none"}); }