skrollr-rails 0.6.5 → 0.6.8

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fc392484b2d622dfbdc8c4ea6e03a3b5eeb8f8e5
4
- data.tar.gz: 6c69ff25ca905d70b40f68f05c72026e515c8e2f
3
+ metadata.gz: 638e39f1ee200fe4cb80c1fee9cb42b9a96acf34
4
+ data.tar.gz: 645e9dee97c2c3cc5aabe6852f1cfa13cbdadd41
5
5
  SHA512:
6
- metadata.gz: 3acb1b7751e38c669a7e4f95f121238b16f0b17f9faabcb52b57c5d6e1acbc85caa6ea4a0b6ab44458bc342fb52a6369d0e9304ec81ba0f4813b3a4593ee2d41
7
- data.tar.gz: e119e409da9733d5a757c1cffbad6d3d19ddd6243f94ae835545a4e8e779fc684d33208dccf041a98e421d092e2b48b84db157efd152c5f45600e8530a1477ef
6
+ metadata.gz: 47e93132b9598841503046b1ac48f64836eb138e99bd66761e1dae0289245609f36eac2ccf1b2e959fb512aaec8045ead94c8db9fb7587fb7665befa6470dd05
7
+ data.tar.gz: 5b876404c7a083f84c82acab5a0f25edb0ce03aae20929ef7b906f342f86e729a71207e8b3dfd93ad39403ad543a909c7faf36f8b2bbd342a35de252131fdc50
@@ -1,5 +1,5 @@
1
1
  module Skrollr
2
2
  module Rails
3
- VERSION = "0.6.5"
3
+ VERSION = "0.6.8"
4
4
  end
5
5
  end
@@ -19,7 +19,7 @@
19
19
  init: function(options) {
20
20
  return _instance || new Skrollr(options);
21
21
  },
22
- VERSION: '0.6.5'
22
+ VERSION: '0.6.8'
23
23
  };
24
24
 
25
25
  //Minify optimization.
@@ -50,7 +50,7 @@
50
50
  var DEFAULT_DURATION = 1000;//ms
51
51
  var MOBILE_DECELERATION = 0.0006;//pixel/ms²
52
52
 
53
- var SMOOTH_SCROLLING_DURATION = 200;
53
+ var DEFAULT_SMOOTH_SCROLLING_DURATION = 200;//ms
54
54
 
55
55
  var ANCHOR_START = 'start';
56
56
  var ANCHOR_END = 'end';
@@ -227,7 +227,7 @@
227
227
  }
228
228
  }
229
229
 
230
- _edgeStrategy = options.edgeStrategy || 'ease';
230
+ _edgeStrategy = options.edgeStrategy || 'set';
231
231
 
232
232
  _listeners = {
233
233
  //Function to be called right before rendering.
@@ -245,6 +245,7 @@
245
245
  }
246
246
 
247
247
  _smoothScrollingEnabled = options.smoothScrolling !== false;
248
+ _smoothScrollingDuration = options.smoothScrollingDuration || DEFAULT_SMOOTH_SCROLLING_DURATION;
248
249
 
249
250
  //Dummy object. Will be overwritten in the _render method when smooth scrolling is calculated.
250
251
  _smoothScrolling = {
@@ -558,7 +559,7 @@
558
559
  //That's were we actually "scroll" on mobile.
559
560
  if(_skrollrBody) {
560
561
  //Set the transform ("scroll it").
561
- _setStyle(_skrollrBody, 'transform', 'translate(0, ' + -(_mobileOffset) + 'px) ' + _translateZ);
562
+ skrollr.setStyle(_skrollrBody, 'transform', 'translate(0, ' + -(_mobileOffset) + 'px) ' + _translateZ);
562
563
  }
563
564
  } else {
564
565
  window.scrollTo(0, top);
@@ -805,6 +806,11 @@
805
806
  case 'reset':
806
807
  _reset(element);
807
808
  continue;
809
+ case 'ease':
810
+ //Handle this case like it would be exactly at first/last keyframe and just pass it on.
811
+ frame = firstOrLastFrame.frame;
812
+ break;
813
+ default:
808
814
  case 'set':
809
815
  var props = firstOrLastFrame.props;
810
816
 
@@ -812,16 +818,11 @@
812
818
  if(hasProp.call(props, key)) {
813
819
  value = _interpolateString(props[key].value);
814
820
 
815
- _setStyle(element, key, value);
821
+ skrollr.setStyle(element, key, value);
816
822
  }
817
823
  }
818
824
 
819
825
  continue;
820
- default:
821
- case 'ease':
822
- //Handle this case like it would be exactly at first/last keyframe and just pass it on.
823
- frame = firstOrLastFrame.frame;
824
- break;
825
826
  }
826
827
  } else {
827
828
  //Did we handle an edge last time?
@@ -852,7 +853,7 @@
852
853
 
853
854
  value = _interpolateString(value);
854
855
 
855
- _setStyle(element, key, value);
856
+ skrollr.setStyle(element, key, value);
856
857
  }
857
858
  }
858
859
 
@@ -901,14 +902,14 @@
901
902
  topDiff: renderTop - _lastTop,
902
903
  targetTop: renderTop,
903
904
  startTime: _lastRenderCall,
904
- endTime: _lastRenderCall + SMOOTH_SCROLLING_DURATION
905
+ endTime: _lastRenderCall + _smoothScrollingDuration
905
906
  };
906
907
  }
907
908
 
908
909
  //Interpolate the internal scroll position (not the actual scrollbar).
909
910
  if(now <= _smoothScrolling.endTime) {
910
911
  //Map the current progress to the new progress using easing function.
911
- progress = easings.sqrt((now - _smoothScrolling.startTime) / SMOOTH_SCROLLING_DURATION);
912
+ progress = easings.sqrt((now - _smoothScrolling.startTime) / _smoothScrollingDuration);
912
913
 
913
914
  renderTop = (_smoothScrolling.startTop + progress * _smoothScrolling.topDiff) | 0;
914
915
  }
@@ -1172,7 +1173,7 @@
1172
1173
  */
1173
1174
  var _detect3DTransforms = function() {
1174
1175
  _translateZ = 'translateZ(0)';
1175
- _setStyle(_skrollrBody, 'transform', _translateZ);
1176
+ skrollr.setStyle(_skrollrBody, 'transform', _translateZ);
1176
1177
 
1177
1178
  var computedStyle = getStyle(_skrollrBody);
1178
1179
  var computedTransform = computedStyle.getPropertyValue('transform');
@@ -1187,7 +1188,7 @@
1187
1188
  /**
1188
1189
  * Set the CSS property on the given element. Sets prefixed properties as well.
1189
1190
  */
1190
- var _setStyle = skrollr.setStyle = function(el, prop, val) {
1191
+ skrollr.setStyle = function(el, prop, val) {
1191
1192
  var style = el.style;
1192
1193
 
1193
1194
  //Camel case.
@@ -1438,6 +1439,8 @@
1438
1439
 
1439
1440
  var _smoothScrollingEnabled;
1440
1441
 
1442
+ var _smoothScrollingDuration;
1443
+
1441
1444
  //Will contain settins for smooth scrolling if enabled.
1442
1445
  var _smoothScrolling;
1443
1446
 
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.5
4
+ version: 0.6.8
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-05-31 00:00:00.000000000 Z
11
+ date: 2013-06-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -62,7 +62,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
62
62
  version: '0'
63
63
  requirements: []
64
64
  rubyforge_project:
65
- rubygems_version: 2.0.0
65
+ rubygems_version: 2.0.3
66
66
  signing_key:
67
67
  specification_version: 4
68
68
  summary: Skrollr is a stand-alone parallax scrolling library for mobile and desktop. This