Skip to content

Commit 36a624c

Browse files
committed
bump version
1 parent 51d6f17 commit 36a624c

File tree

3 files changed

+103
-85
lines changed

3 files changed

+103
-85
lines changed

dist/moveTo.js

Lines changed: 100 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,106 +1,119 @@
11
/*!
22
* MoveTo - A lightweight scroll animation javascript library without any dependency.
3-
* Version 1.8.0 (14-01-2019 13:15)
3+
* Version 1.8.1 (07-05-2019 23:39)
44
* Licensed under MIT
55
* Copyright 2019 Hasan Aydoğdu <[email protected]>
66
*/
77

8-
'use strict';
8+
"use strict";
9+
910
var MoveTo = function () {
1011
/**
11-
* Defaults
12-
* @type {object}
13-
*/
12+
* Defaults
13+
* @type {object}
14+
*/
1415
var defaults = {
1516
tolerance: 0,
1617
duration: 800,
1718
easing: 'easeOutQuart',
1819
container: window,
19-
callback: function callback() {} };
20-
21-
20+
callback: function callback() {}
21+
};
2222
/**
23-
* easeOutQuart Easing Function
24-
* @param {number} t - current time
25-
* @param {number} b - start value
26-
* @param {number} c - change in value
27-
* @param {number} d - duration
28-
* @return {number} - calculated value
29-
*/
23+
* easeOutQuart Easing Function
24+
* @param {number} t - current time
25+
* @param {number} b - start value
26+
* @param {number} c - change in value
27+
* @param {number} d - duration
28+
* @return {number} - calculated value
29+
*/
30+
3031
function easeOutQuart(t, b, c, d) {
3132
t /= d;
3233
t--;
3334
return -c * (t * t * t * t - 1) + b;
3435
}
35-
3636
/**
37-
* Merge two object
38-
*
39-
* @param {object} obj1
40-
* @param {object} obj2
41-
* @return {object} merged object
42-
*/
37+
* Merge two object
38+
*
39+
* @param {object} obj1
40+
* @param {object} obj2
41+
* @return {object} merged object
42+
*/
43+
44+
4345
function mergeObject(obj1, obj2) {
4446
var obj3 = {};
4547
Object.keys(obj1).forEach(function (propertyName) {
4648
obj3[propertyName] = obj1[propertyName];
4749
});
48-
4950
Object.keys(obj2).forEach(function (propertyName) {
5051
obj3[propertyName] = obj2[propertyName];
5152
});
5253
return obj3;
53-
};
54+
}
5455

56+
;
5557
/**
56-
* Converts camel case to kebab case
57-
* @param {string} val the value to be converted
58-
* @return {string} the converted value
59-
*/
58+
* Converts camel case to kebab case
59+
* @param {string} val the value to be converted
60+
* @return {string} the converted value
61+
*/
62+
6063
function kebabCase(val) {
6164
return val.replace(/([A-Z])/g, function ($1) {
6265
return '-' + $1.toLowerCase();
6366
});
64-
};
67+
}
6568

69+
;
6670
/**
67-
* Count a number of item scrolled top
68-
* @param {Window|HTMLElement} container
69-
* @return {number}
70-
*/
71+
* Count a number of item scrolled top
72+
* @param {Window|HTMLElement} container
73+
* @return {number}
74+
*/
75+
7176
function countScrollTop(container) {
7277
if (container instanceof HTMLElement) {
7378
return container.scrollTop;
7479
}
80+
7581
return container.pageYOffset;
76-
};
82+
}
7783

84+
;
7885
/**
79-
* MoveTo Constructor
80-
* @param {object} options Options
81-
* @param {object} easeFunctions Custom ease functions
82-
*/
83-
function MoveTo() {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};var easeFunctions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
86+
* MoveTo Constructor
87+
* @param {object} options Options
88+
* @param {object} easeFunctions Custom ease functions
89+
*/
90+
91+
function MoveTo() {
92+
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
93+
var easeFunctions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
8494
this.options = mergeObject(defaults, options);
85-
this.easeFunctions = mergeObject({ easeOutQuart: easeOutQuart }, easeFunctions);
95+
this.easeFunctions = mergeObject({
96+
easeOutQuart: easeOutQuart
97+
}, easeFunctions);
8698
}
87-
8899
/**
89-
* Register a dom element as trigger
90-
* @param {HTMLElement} dom Dom trigger element
91-
* @param {function} callback Callback function
92-
* @return {function|void} unregister function
93-
*/
94-
MoveTo.prototype.registerTrigger = function (dom, callback) {var _this = this;
100+
* Register a dom element as trigger
101+
* @param {HTMLElement} dom Dom trigger element
102+
* @param {function} callback Callback function
103+
* @return {function|void} unregister function
104+
*/
105+
106+
107+
MoveTo.prototype.registerTrigger = function (dom, callback) {
108+
var _this = this;
109+
95110
if (!dom) {
96111
return;
97112
}
98113

99-
var href = dom.getAttribute('href') || dom.getAttribute('data-target');
100-
// The element to be scrolled
101-
var target = href && href !== '#' ?
102-
document.getElementById(href.substring(1)) :
103-
document.body;
114+
var href = dom.getAttribute('href') || dom.getAttribute('data-target'); // The element to be scrolled
115+
116+
var target = href && href !== '#' ? document.getElementById(href.substring(1)) : document.body;
104117
var options = mergeObject(this.options, _getOptionsFromTriggerDom(dom, this.options));
105118

106119
if (typeof callback === 'function') {
@@ -109,34 +122,39 @@ var MoveTo = function () {
109122

110123
var listener = function listener(e) {
111124
e.preventDefault();
125+
112126
_this.move(target, options);
113127
};
114128

115129
dom.addEventListener('click', listener, false);
116-
117-
return function () {return dom.removeEventListener('click', listener, false);};
130+
return function () {
131+
return dom.removeEventListener('click', listener, false);
132+
};
118133
};
119-
120134
/**
121-
* Move
122-
* Scrolls to given element by using easeOutQuart function
123-
* @param {HTMLElement|number} target Target element to be scrolled or target position
124-
* @param {object} options Custom options
125-
*/
126-
MoveTo.prototype.move = function (target) {var _this2 = this;var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
135+
* Move
136+
* Scrolls to given element by using easeOutQuart function
137+
* @param {HTMLElement|number} target Target element to be scrolled or target position
138+
* @param {object} options Custom options
139+
*/
140+
141+
142+
MoveTo.prototype.move = function (target) {
143+
var _this2 = this;
144+
145+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
146+
127147
if (target !== 0 && !target) {
128148
return;
129149
}
130150

131151
options = mergeObject(this.options, options);
132-
133152
var distance = typeof target === 'number' ? target : target.getBoundingClientRect().top;
134153
var from = countScrollTop(options.container);
135154
var startTime = null;
136-
var lastYOffset = void 0;
137-
distance -= options.tolerance;
155+
var lastYOffset;
156+
distance -= options.tolerance; // rAF loop
138157

139-
// rAF loop
140158
var loop = function loop(currentTime) {
141159
var currentYOffset = countScrollTop(_this2.options.container);
142160

@@ -150,13 +168,11 @@ var MoveTo = function () {
150168
var timeElapsed = currentTime - startTime;
151169

152170
if (lastYOffset) {
153-
if (
154-
distance > 0 && lastYOffset > currentYOffset ||
155-
distance < 0 && lastYOffset < currentYOffset)
156-
{
171+
if (distance > 0 && lastYOffset > currentYOffset || distance < 0 && lastYOffset < currentYOffset) {
157172
return options.callback(target);
158173
}
159174
}
175+
160176
lastYOffset = currentYOffset;
161177

162178
var val = _this2.easeFunctions[options.easing](timeElapsed, from, distance, options.duration);
@@ -173,27 +189,29 @@ var MoveTo = function () {
173189

174190
window.requestAnimationFrame(loop);
175191
};
176-
177192
/**
178-
* Adds custom ease function
179-
* @param {string} name Ease function name
180-
* @param {function} fn Ease function
181-
*/
193+
* Adds custom ease function
194+
* @param {string} name Ease function name
195+
* @param {function} fn Ease function
196+
*/
197+
198+
182199
MoveTo.prototype.addEaseFunction = function (name, fn) {
183200
this.easeFunctions[name] = fn;
184201
};
185-
186202
/**
187-
* Returns options which created from trigger dom element
188-
* @param {HTMLElement} dom Trigger dom element
189-
* @param {object} options The instance's options
190-
* @return {object} The options which created from trigger dom element
191-
*/
203+
* Returns options which created from trigger dom element
204+
* @param {HTMLElement} dom Trigger dom element
205+
* @param {object} options The instance's options
206+
* @return {object} The options which created from trigger dom element
207+
*/
208+
209+
192210
function _getOptionsFromTriggerDom(dom, options) {
193211
var domOptions = {};
194-
195212
Object.keys(options).forEach(function (key) {
196-
var value = dom.getAttribute('data-mt-' + kebabCase(key));
213+
var value = dom.getAttribute("data-mt-".concat(kebabCase(key)));
214+
197215
if (value) {
198216
domOptions[key] = isNaN(value) ? value : parseInt(value, 10);
199217
}

dist/moveTo.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "moveto",
3-
"version": "1.8.0",
3+
"version": "1.8.1",
44
"description": "A lightweight scroll animation javascript library without any dependency.",
55
"main": "dist/moveTo.js",
66
"scripts": {

0 commit comments

Comments
 (0)