skrollr-rails 0.6.11 → 0.6.12
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|