skrollr-rails 0.6.11 → 0.6.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/skrollr-rails/version.rb +1 -1
- data/skrollr-rails.gemspec +2 -1
- data/vendor/assets/javascripts/skrollr.js +109 -6
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd1110115e2221306a0b9ca1328d3f4b9cd479fe
|
4
|
+
data.tar.gz: d8f4e8937b43441aa2a794b08b8f31d9c63a0429
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 261db4165ac4cfe9ad793a03b56facc944e807c77e0c8de3468af1a6d8666911a3caf2e4061a8dce6cb84d2cc058481141c25c7d30a61eb3eb393a8e2bbda5d5
|
7
|
+
data.tar.gz: acc368b3991fa3ba7d05df1637eb028742e47c8c2b1a215683e9cd5382fbafe5ec200284158957dd94b7b553b7fce2366bbb6f02d2015516d8706312a65a4362
|
data/skrollr-rails.gemspec
CHANGED
@@ -9,7 +9,8 @@ Gem::Specification.new do |s|
|
|
9
9
|
s.description = %q{Integrates the skrollr javascript library with the Rails asset pipeline}
|
10
10
|
s.summary = %q{Skrollr is a stand-alone parallax scrolling library for mobile and desktop. This gem integrates skrollr with the Rails asset pipeline for ease of use and version control.}
|
11
11
|
s.homepage = 'https://github.com/reed/skrollr-rails'
|
12
|
-
|
12
|
+
s.license = 'MIT'
|
13
|
+
|
13
14
|
s.files = `git ls-files`.split("\n")
|
14
15
|
s.require_paths = ['lib']
|
15
16
|
|
@@ -19,7 +19,7 @@
|
|
19
19
|
init: function(options) {
|
20
20
|
return _instance || new Skrollr(options);
|
21
21
|
},
|
22
|
-
VERSION: '0.6.
|
22
|
+
VERSION: '0.6.12'
|
23
23
|
};
|
24
24
|
|
25
25
|
//Minify optimization.
|
@@ -149,7 +149,7 @@
|
|
149
149
|
var deltaTime = _now() - lastTime;
|
150
150
|
var delay = Math.max(0, 1000 / 60 - deltaTime);
|
151
151
|
|
152
|
-
window.setTimeout(function() {
|
152
|
+
return window.setTimeout(function() {
|
153
153
|
lastTime = _now();
|
154
154
|
callback();
|
155
155
|
}, delay);
|
@@ -159,6 +159,18 @@
|
|
159
159
|
return requestAnimFrame;
|
160
160
|
};
|
161
161
|
|
162
|
+
var polyfillCAF = function() {
|
163
|
+
var cancelAnimFrame = window.cancelAnimationFrame || window[theCSSPrefix.toLowerCase() + 'CancelAnimationFrame'];
|
164
|
+
|
165
|
+
if(_isMobile || !cancelAnimFrame) {
|
166
|
+
cancelAnimFrame = function(timeout) {
|
167
|
+
return window.clearTimeout(timeout);
|
168
|
+
};
|
169
|
+
}
|
170
|
+
|
171
|
+
return cancelAnimFrame;
|
172
|
+
};
|
173
|
+
|
162
174
|
//Built-in easing functions.
|
163
175
|
var easings = {
|
164
176
|
begin: function() {
|
@@ -294,7 +306,7 @@
|
|
294
306
|
//Let's go.
|
295
307
|
(function animloop(){
|
296
308
|
_render();
|
297
|
-
requestAnimFrame(animloop);
|
309
|
+
_animFrame = requestAnimFrame(animloop);
|
298
310
|
}());
|
299
311
|
|
300
312
|
return _instance;
|
@@ -595,6 +607,52 @@
|
|
595
607
|
return _instance;
|
596
608
|
};
|
597
609
|
|
610
|
+
Skrollr.prototype.destroy = function() {
|
611
|
+
var cancelAnimFrame = polyfillCAF();
|
612
|
+
cancelAnimFrame(_animFrame);
|
613
|
+
_removeAllEvents();
|
614
|
+
|
615
|
+
_updateClass(documentElement, [NO_SKROLLR_CLASS], [SKROLLR_CLASS, SKROLLR_DESKTOP_CLASS, SKROLLR_MOBILE_CLASS]);
|
616
|
+
|
617
|
+
var skrollableIndex = 0;
|
618
|
+
var skrollablesLength = _skrollables.length;
|
619
|
+
|
620
|
+
for(; skrollableIndex < skrollablesLength; skrollableIndex++) {
|
621
|
+
_reset(_skrollables[skrollableIndex].element);
|
622
|
+
}
|
623
|
+
|
624
|
+
documentElement.style.overflow = body.style.overflow = 'auto';
|
625
|
+
documentElement.style.height = body.style.height = 'auto';
|
626
|
+
|
627
|
+
if(_skrollrBody) {
|
628
|
+
skrollr.setStyle(_skrollrBody, 'transform', 'none');
|
629
|
+
}
|
630
|
+
|
631
|
+
_instance = undefined;
|
632
|
+
_skrollrBody = undefined;
|
633
|
+
_listeners = undefined;
|
634
|
+
_forceHeight = undefined;
|
635
|
+
_maxKeyFrame = 0;
|
636
|
+
_scale = 1;
|
637
|
+
_constants = undefined;
|
638
|
+
_mobileDeceleration = undefined;
|
639
|
+
_direction = 'down';
|
640
|
+
_lastTop = -1;
|
641
|
+
_lastViewportWidth = 0;
|
642
|
+
_lastViewportHeight = 0;
|
643
|
+
_requestReflow = false;
|
644
|
+
_scrollAnimation = undefined;
|
645
|
+
_smoothScrollingEnabled = undefined;
|
646
|
+
_smoothScrollingDuration = undefined;
|
647
|
+
_smoothScrolling = undefined;
|
648
|
+
_forceRender = undefined;
|
649
|
+
_skrollableIdCounter = 0;
|
650
|
+
_edgeStrategy = undefined;
|
651
|
+
_isMobile = false;
|
652
|
+
_mobileOffset = 0;
|
653
|
+
_translateZ = undefined;
|
654
|
+
};
|
655
|
+
|
598
656
|
/*
|
599
657
|
Private methods.
|
600
658
|
*/
|
@@ -1261,18 +1319,57 @@
|
|
1261
1319
|
|
1262
1320
|
names = names.split(' ');
|
1263
1321
|
|
1322
|
+
var name;
|
1264
1323
|
var nameCounter = 0;
|
1265
1324
|
var namesLength = names.length;
|
1266
1325
|
|
1267
1326
|
for(; nameCounter < namesLength; nameCounter++) {
|
1327
|
+
name = names[nameCounter];
|
1328
|
+
|
1268
1329
|
if(element.addEventListener) {
|
1269
|
-
element.addEventListener(
|
1330
|
+
element.addEventListener(name, callback, false);
|
1270
1331
|
} else {
|
1271
|
-
element.attachEvent('on' +
|
1332
|
+
element.attachEvent('on' + name, intermediate);
|
1272
1333
|
}
|
1334
|
+
|
1335
|
+
//Remember the events to be able to flush them later.
|
1336
|
+
_registeredEvents.push({
|
1337
|
+
element: element,
|
1338
|
+
name: name,
|
1339
|
+
listener: callback
|
1340
|
+
});
|
1273
1341
|
}
|
1274
1342
|
};
|
1275
1343
|
|
1344
|
+
var _removeEvent = skrollr.removeEvent = function(element, names, callback) {
|
1345
|
+
names = names.split(' ');
|
1346
|
+
|
1347
|
+
var nameCounter = 0;
|
1348
|
+
var namesLength = names.length;
|
1349
|
+
|
1350
|
+
for(; nameCounter < namesLength; nameCounter++) {
|
1351
|
+
if(element.removeEventListener) {
|
1352
|
+
element.removeEventListener(names[nameCounter], callback, false);
|
1353
|
+
} else {
|
1354
|
+
element.detachEvent('on' + names[nameCounter], callback);
|
1355
|
+
}
|
1356
|
+
}
|
1357
|
+
};
|
1358
|
+
|
1359
|
+
var _removeAllEvents = function() {
|
1360
|
+
var eventData;
|
1361
|
+
var eventCounter = 0;
|
1362
|
+
var eventsLength = _registeredEvents.length;
|
1363
|
+
|
1364
|
+
for(; eventCounter < eventsLength; eventCounter++) {
|
1365
|
+
eventData = _registeredEvents[eventCounter];
|
1366
|
+
|
1367
|
+
_removeEvent(eventData.element, eventData.name, eventData.listener);
|
1368
|
+
}
|
1369
|
+
|
1370
|
+
_registeredEvents = [];
|
1371
|
+
};
|
1372
|
+
|
1276
1373
|
var _reflow = function() {
|
1277
1374
|
var pos = _instance.getScrollTop();
|
1278
1375
|
|
@@ -1490,4 +1587,10 @@
|
|
1490
1587
|
|
1491
1588
|
//If the browser supports 3d transforms, this will be filled with 'translateZ(0)' (empty string otherwise).
|
1492
1589
|
var _translateZ;
|
1493
|
-
|
1590
|
+
|
1591
|
+
//Will contain data about registered events by skrollr.
|
1592
|
+
var _registeredEvents = [];
|
1593
|
+
|
1594
|
+
//Animation frame id returned by RequestAnimationFrame (or timeout when RAF is not supported).
|
1595
|
+
var _animFrame;
|
1596
|
+
}(window, document));
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: skrollr-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Reed
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-09-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -44,7 +44,8 @@ files:
|
|
44
44
|
- vendor/assets/javascripts/skrollr.js
|
45
45
|
- vendor/assets/javascripts/skrollr.menu.js
|
46
46
|
homepage: https://github.com/reed/skrollr-rails
|
47
|
-
licenses:
|
47
|
+
licenses:
|
48
|
+
- MIT
|
48
49
|
metadata: {}
|
49
50
|
post_install_message:
|
50
51
|
rdoc_options: []
|