Skip to content

Commit c19ae9e

Browse files
committed
fix module bug
1 parent 0e811d5 commit c19ae9e

File tree

3 files changed

+82
-78
lines changed

3 files changed

+82
-78
lines changed

elevator.js

Lines changed: 77 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@
1010
*********************************************/
1111

1212
var Elevator = function(options) {
13-
14-
'use strict';
13+
"use strict";
1514

1615
// Elements
1716
var body = null;
@@ -39,17 +38,18 @@ var Elevator = function(options) {
3938
*/
4039

4140
// Thanks Mr Penner - http://robertpenner.com/easing/
42-
function easeInOutQuad( t, b, c, d ) {
41+
function easeInOutQuad(t, b, c, d) {
4342
t /= d / 2;
44-
if ( t < 1 ) return c / 2 * t * t + b;
43+
if (t < 1) return c / 2 * t * t + b;
4544
t--;
46-
return -c / 2 * ( t * ( t -2 ) - 1 ) + b;
45+
return -c / 2 * (t * (t - 2) - 1) + b;
4746
}
4847

49-
function extendParameters(options, defaults){
50-
for( var option in defaults ){
51-
var t = options[option] === undefined && typeof option !== "function";
52-
if(t){
48+
function extendParameters(options, defaults) {
49+
for (var option in defaults) {
50+
var t =
51+
options[option] === undefined && typeof option !== "function";
52+
if (t) {
5353
options[option] = defaults[option];
5454
}
5555
}
@@ -58,13 +58,13 @@ var Elevator = function(options) {
5858

5959
function getVerticalOffset(element) {
6060
var verticalOffset = 0;
61-
while( element ){
61+
while (element) {
6262
verticalOffset += element.offsetTop || 0;
6363
element = element.offsetParent;
6464
}
6565

66-
if ( verticalPadding ) {
67-
verticalOffset = verticalOffset - verticalPadding;
66+
if (verticalPadding) {
67+
verticalOffset = verticalOffset - verticalPadding;
6868
}
6969

7070
return verticalOffset;
@@ -75,65 +75,73 @@ var Elevator = function(options) {
7575
*/
7676

7777
// Time is passed through requestAnimationFrame, what a world!
78-
function animateLoop( time ) {
79-
if ( !startTime ) {
78+
function animateLoop(time) {
79+
if (!startTime) {
8080
startTime = time;
8181
}
8282

8383
var timeSoFar = time - startTime;
84-
var easedPosition = easeInOutQuad(timeSoFar, startPosition, endPosition - startPosition, duration);
84+
var easedPosition = easeInOutQuad(
85+
timeSoFar,
86+
startPosition,
87+
endPosition - startPosition,
88+
duration
89+
);
8590

8691
window.scrollTo(0, easedPosition);
8792

88-
if( timeSoFar < duration ) {
93+
if (timeSoFar < duration) {
8994
animation = requestAnimationFrame(animateLoop);
9095
} else {
9196
animationFinished();
9297
}
9398
}
9499

95-
// ELEVATE!
96-
// /
97-
// ____
98-
// .' '=====<0
99-
// |======|
100-
// |======|
101-
// [IIIIII[\--()
102-
// |_______|
103-
// C O O O D
104-
// C O O O D
105-
// C O O O D
106-
// C__O__O__O__D
107-
// [_____________]
100+
// ELEVATE!
101+
// /
102+
// ____
103+
// .' '=====<0
104+
// |======|
105+
// |======|
106+
// [IIIIII[\--()
107+
// |_______|
108+
// C O O O D
109+
// C O O O D
110+
// C O O O D
111+
// C__O__O__O__D
112+
// [_____________]
108113
this.elevate = function() {
109-
110-
if( elevating ) {
114+
if (elevating) {
111115
return;
112116
}
113117

114118
elevating = true;
115-
startPosition = (document.documentElement.scrollTop || body.scrollTop);
119+
startPosition = document.documentElement.scrollTop || body.scrollTop;
116120
updateEndPosition();
117121

118122
// No custom duration set, so we travel at pixels per millisecond. (0.75px per ms)
119-
if( !customDuration ) {
120-
duration = ( Math.abs(endPosition - startPosition) * 1.5);
123+
if (!customDuration) {
124+
duration = Math.abs(endPosition - startPosition) * 1.5;
121125
}
122126

123-
requestAnimationFrame( animateLoop );
127+
requestAnimationFrame(animateLoop);
124128

125129
// Start music!
126-
if( mainAudio ) {
130+
if (mainAudio) {
127131
mainAudio.play();
128132
}
129133

130-
if( startCallback ) {
134+
if (startCallback) {
131135
startCallback();
132136
}
133137
};
134138

135139
function browserMeetsRequirements() {
136-
return window.requestAnimationFrame && window.Audio && window.addEventListener;
140+
return (
141+
window.requestAnimationFrame &&
142+
window.Audio &&
143+
window.addEventListener
144+
);
137145
}
138146

139147
function resetPositions() {
@@ -143,39 +151,36 @@ var Elevator = function(options) {
143151
}
144152

145153
function updateEndPosition() {
146-
if(targetElement){
154+
if (targetElement) {
147155
endPosition = getVerticalOffset(targetElement);
148156
}
149157
}
150158

151159
function animationFinished() {
152-
153160
resetPositions();
154161

155162
// Stop music!
156-
if( mainAudio ) {
163+
if (mainAudio) {
157164
mainAudio.pause();
158165
mainAudio.currentTime = 0;
159166
}
160167

161-
if( endAudio ) {
168+
if (endAudio) {
162169
endAudio.play();
163170
}
164171

165-
if( endCallback ) {
172+
if (endCallback) {
166173
endCallback();
167174
}
168175
}
169176

170177
function onWindowBlur() {
171-
172178
// If animating, go straight to the top. And play no more music.
173-
if( elevating ) {
174-
175-
cancelAnimationFrame( animation );
179+
if (elevating) {
180+
cancelAnimationFrame(animation);
176181
resetPositions();
177182

178-
if( mainAudio ) {
183+
if (mainAudio) {
179184
mainAudio.pause();
180185
mainAudio.currentTime = 0;
181186
}
@@ -185,12 +190,12 @@ var Elevator = function(options) {
185190
}
186191
}
187192

188-
function bindElevateToElement( element ) {
189-
if( element.addEventListener ) {
190-
element.addEventListener('click', that.elevate, false);
193+
function bindElevateToElement(element) {
194+
if (element.addEventListener) {
195+
element.addEventListener("click", that.elevate, false);
191196
} else {
192197
// Older browsers
193-
element.attachEvent('onclick', function() {
198+
element.attachEvent("onclick", function() {
194199
updateEndPosition();
195200
document.documentElement.scrollTop = endPosition;
196201
document.body.scrollTop = endPosition;
@@ -199,7 +204,7 @@ var Elevator = function(options) {
199204
}
200205
}
201206

202-
function init( _options ) {
207+
function init(_options) {
203208
// Bind to element click event, if need be.
204209
body = document.body;
205210

@@ -215,51 +220,53 @@ var Elevator = function(options) {
215220

216221
_options = extendParameters(_options, defaults);
217222

218-
if( _options.element ) {
219-
bindElevateToElement( _options.element );
223+
if (_options.element) {
224+
bindElevateToElement(_options.element);
220225
}
221226

222227
// Take the stairs instead
223-
if( !browserMeetsRequirements() ) {
228+
if (!browserMeetsRequirements()) {
224229
return;
225230
}
226231

227-
if( _options.duration ) {
232+
if (_options.duration) {
228233
customDuration = true;
229234
duration = _options.duration;
230235
}
231236

232-
if( _options.targetElement ) {
237+
if (_options.targetElement) {
233238
targetElement = _options.targetElement;
234239
}
235240

236-
if( _options.verticalPadding ) {
241+
if (_options.verticalPadding) {
237242
verticalPadding = _options.verticalPadding;
238243
}
239244

240-
window.addEventListener('blur', onWindowBlur, false);
245+
window.addEventListener("blur", onWindowBlur, false);
241246

242-
if( _options.mainAudio ) {
243-
mainAudio = new Audio( _options.mainAudio );
244-
mainAudio.setAttribute( 'preload', _options.preloadAudio );
245-
mainAudio.setAttribute( 'loop', _options.loopAudio );
247+
if (_options.mainAudio) {
248+
mainAudio = new Audio(_options.mainAudio);
249+
mainAudio.setAttribute("preload", _options.preloadAudio);
250+
mainAudio.setAttribute("loop", _options.loopAudio);
246251
}
247252

248-
if( _options.endAudio ) {
249-
endAudio = new Audio( _options.endAudio );
250-
endAudio.setAttribute( 'preload', 'true' );
253+
if (_options.endAudio) {
254+
endAudio = new Audio(_options.endAudio);
255+
endAudio.setAttribute("preload", "true");
251256
}
252257

253-
if( _options.endCallback ) {
258+
if (_options.endCallback) {
254259
endCallback = _options.endCallback;
255260
}
256261

257-
if( _options.startCallback ) {
262+
if (_options.startCallback) {
258263
startCallback = _options.startCallback;
259264
}
260265
}
261266

262267
init(options);
263268
};
264269

265-
module.exports = Elevator;
270+
if (typeof module !== "undefined" && module.exports) {
271+
module.exports = Elevator;
272+
}

elevator.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
{
22
"name": "elevator.js",
3-
"version": "1.0.0",
4-
"description": "Elevator.js fixes those awkward \"scroll to top\" moments the old fashioned way.",
5-
"keywords": [
6-
"scroll",
7-
"top",
8-
"elevator"
9-
],
3+
"version": "1.0.1",
4+
"description":
5+
"Elevator.js fixes those awkward \"scroll to top\" moments the old fashioned way.",
6+
"keywords": ["scroll", "top", "elevator"],
107
"homepage": "http://tholman.com/elevator.js",
118
"bugs": {
129
"url": "https://github.com/tholman/elevator.js/issues"

0 commit comments

Comments
 (0)