From 71f78883253fda2cac580a015e4b53d33efbf9fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20Aydo=C4=9Fdu?= Date: Sun, 22 Oct 2017 02:09:12 +0300 Subject: [PATCH 1/3] Fixed the bug that moving to top on the second click Closes #15 --- src/moveTo.js | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/moveTo.js b/src/moveTo.js index a1968ad..65db37d 100644 --- a/src/moveTo.js +++ b/src/moveTo.js @@ -80,7 +80,7 @@ const MoveTo = (() => { // The element to be scrolled const target = (href && href !== '#') ? document.getElementById(href.substring(1)) - : 0; + : document.body; const options = mergeObject(this.options, _getOptionsFromTriggerDom(dom, this.options)); if (typeof callback === 'function') { @@ -116,11 +116,6 @@ const MoveTo = (() => { let lastPageYOffset; distance -= options.tolerance; - // if distance is `0`, it means to back to the top - if (distance === 0) { - distance -= from; - } - // rAF loop const loop = (currentTime) => { let currentPageYOffset = window.pageYOffset; From d4be10336db3a3f6f2ee9da6ca8d9c95bdfe6998 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20Aydo=C4=9Fdu?= Date: Sun, 22 Oct 2017 02:18:23 +0300 Subject: [PATCH 2/3] Added Back to top example --- README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/README.md b/README.md index 6809811..24cddb0 100644 --- a/README.md +++ b/README.md @@ -191,6 +191,25 @@ Ease function. See [Easing Equations](http://gizma.com/easing/) for more ease fu ``` +
+ Back to top + + ```js + document.addEventListener('DOMContentLoaded', function () { + const moveTo = new MoveTo(); + const triggers = document.getElementsByClassName('js-back-to-top'); + + for (var i = 0; triggers.length < i; i++) { + moveTo.registerTrigger(triggers[i]); + } + }); + ``` + + ```html + Back to top! + ``` +
+ ## Development setup ```sh From 361fd4488ffb9d6e57c31e3fc8cb9f4aaf6acd34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20Aydo=C4=9Fdu?= Date: Sun, 22 Oct 2017 02:29:34 +0300 Subject: [PATCH 3/3] Bump version --- dist/moveTo.js | 9 ++------- dist/moveTo.min.js | 4 ++-- package.json | 2 +- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/dist/moveTo.js b/dist/moveTo.js index ceacf0d..5d1763b 100644 --- a/dist/moveTo.js +++ b/dist/moveTo.js @@ -1,6 +1,6 @@ /*! * MoveTo - A lightweight scroll animation javascript library without any dependency. - * Version 1.7.0 (01-10-2017 14:12) + * Version 1.7.1 (22-10-2017 02:28) * Licensed under MIT * Copyright 2017 Hasan Aydoğdu */ @@ -87,7 +87,7 @@ var MoveTo = function () { // The element to be scrolled var target = href && href !== '#' ? document.getElementById(href.substring(1)) : - 0; + document.body; var options = mergeObject(this.options, _getOptionsFromTriggerDom(dom, this.options)); if (typeof callback === 'function') { @@ -123,11 +123,6 @@ var MoveTo = function () { var lastPageYOffset = void 0; distance -= options.tolerance; - // if distance is `0`, it means to back to the top - if (distance === 0) { - distance -= from; - } - // rAF loop var loop = function loop(currentTime) { var currentPageYOffset = window.pageYOffset; diff --git a/dist/moveTo.min.js b/dist/moveTo.min.js index 9aadd87..8eea060 100644 --- a/dist/moveTo.min.js +++ b/dist/moveTo.min.js @@ -1,8 +1,8 @@ /*! * MoveTo - A lightweight scroll animation javascript library without any dependency. - * Version 1.7.0 (01-10-2017 14:12) + * Version 1.7.1 (22-10-2017 02:28) * Licensed under MIT * Copyright 2017 Hasan Aydoğdu */ -"use strict";var MoveTo=function(){function t(t,e,n,o){return t/=o,t--,-n*(t*t*t*t-1)+e}function e(t,e){var n={};return Object.keys(t).forEach(function(e){n[e]=t[e]}),Object.keys(e).forEach(function(t){n[t]=e[t]}),n}function n(t){return t.replace(/([A-Z])/g,function(t){return"-"+t.toLowerCase()})}function o(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.options=e(r,n),this.easeFunctions=e({easeOutQuart:t},o)}function i(t,e){var o={};return Object.keys(e).forEach(function(e){var i=t.getAttribute("data-mt-"+n(e));i&&(o[e]=isNaN(i)?i:parseInt(i,10))}),o}var r={tolerance:0,duration:800,easing:"easeOutQuart",callback:function(){}};return o.prototype.registerTrigger=function(t,n){var o=this;if(t){var r=t.getAttribute("href")||t.getAttribute("data-target"),a=r&&"#"!==r?document.getElementById(r.substring(1)):0,u=e(this.options,i(t,this.options));"function"==typeof n&&(u.callback=n);var c=function(t){t.preventDefault(),o.move(a,u)};return t.addEventListener("click",c,!1),function(){return t.removeEventListener("click",c,!1)}}},o.prototype.move=function(t){var n=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(0===t||t){o=e(this.options,o);var i="number"==typeof t?t:t.getBoundingClientRect().top,r=window.pageYOffset,a=null,u=void 0;i-=o.tolerance,0===i&&(i-=r);var c=function e(c){var s=window.pageYOffset;a||(a=c-1);var f=c-a;if(u&&(i>0&&u>s||i<0&&u0&&void 0!==arguments[0]?arguments[0]:{},o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.options=e(r,n),this.easeFunctions=e({easeOutQuart:t},o)}function i(t,e){var o={};return Object.keys(e).forEach(function(e){var i=t.getAttribute("data-mt-"+n(e));i&&(o[e]=isNaN(i)?i:parseInt(i,10))}),o}var r={tolerance:0,duration:800,easing:"easeOutQuart",callback:function(){}};return o.prototype.registerTrigger=function(t,n){var o=this;if(t){var r=t.getAttribute("href")||t.getAttribute("data-target"),a=r&&"#"!==r?document.getElementById(r.substring(1)):document.body,u=e(this.options,i(t,this.options));"function"==typeof n&&(u.callback=n);var c=function(t){t.preventDefault(),o.move(a,u)};return t.addEventListener("click",c,!1),function(){return t.removeEventListener("click",c,!1)}}},o.prototype.move=function(t){var n=this,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(0===t||t){o=e(this.options,o);var i="number"==typeof t?t:t.getBoundingClientRect().top,r=window.pageYOffset,a=null,u=void 0;i-=o.tolerance;var c=function e(c){var s=window.pageYOffset;a||(a=c-1);var f=c-a;if(u&&(i>0&&u>s||i<0&&u