scrollToFixed_rails 1.0.0 → 1.0.1

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 ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OTZiNGRlMDE5OTBkYjU4ZjEyOWMxYjg1M2ZlMDBiMzUzMjE1ODMyMQ==
5
+ data.tar.gz: !binary |-
6
+ ZDhmZjEzMTEwOWZiMTc1ZjE1YzRkYTk0NWE3YzM1ZmExMDU2NTE1OQ==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ MGYwNzRkY2FkOTZkYTRjZTNmMjJiMjU1NTUyNGFjZjA2ZWZlZjAwM2IyN2Zl
10
+ ODU3ZWVlZTQ5MWMzY2E1MTMyMDNhNWIwNTFlYWViMzI0ODFkMjI5MTUzZWJm
11
+ MDFlMjM1YTY2YWViMjI5NGNhYzk4Mzc2ZTYxNTNjMTQwOWQzMTc=
12
+ data.tar.gz: !binary |-
13
+ YTIyNmQyZGFlZmYyNzFiYTNlZjgwMTFhNGNiZWRhOWNkMzEzNTAzZjkyODkw
14
+ ZWFmZGE0OWViNzA5ZTlmYjIxZjE5ZjdhNTE1ZDgwZjFhNGYxMjMzNWMwNjU4
15
+ MmYyMmEzMzBlNWExOGQ3ZjZjOGU2MmM1YzBlNDhjOWVkMDJjYWE=
@@ -17,8 +17,7 @@
17
17
  // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18
18
  // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19
19
 
20
- // Version for debugging - 1.0.0
21
-
20
+ // Version for debugging - 1.0.1
22
21
  (function($) {
23
22
  $.isScrollToFixed = function(el) {
24
23
  return !!$(el).data('ScrollToFixed');
@@ -46,7 +45,7 @@
46
45
  var position;
47
46
  var originalPosition;
48
47
 
49
- var originalOffset;
48
+ var originalOffsetTop;
50
49
 
51
50
  // The offset top of the element when resetScroll was called. This is
52
51
  // used to determine if we have scrolled past the top of the element.
@@ -90,12 +89,12 @@
90
89
 
91
90
  // Capture the offset left of the target element.
92
91
  offsetLeft = target.offset().left;
93
-
92
+
94
93
  // If the offsets option is on, alter the left offset.
95
94
  if (base.options.offsets) {
96
95
  offsetLeft += (target.offset().left - target.position().left);
97
96
  }
98
-
97
+
99
98
  if (originalOffsetLeft == -1) {
100
99
  originalOffsetLeft = offsetLeft;
101
100
  }
@@ -104,7 +103,7 @@
104
103
 
105
104
  // Set that this has been called at least once.
106
105
  isReset = true;
107
-
106
+
108
107
  if (base.options.bottom != -1) {
109
108
  target.trigger('preFixed.ScrollToFixed');
110
109
  setFixed();
@@ -153,7 +152,7 @@
153
152
  // Set the target element to fixed and set its width so it does
154
153
  // not fill the rest of the page horizontally. Also, set its top
155
154
  // to the margin top specified in the options.
156
-
155
+
157
156
  cssOptions={
158
157
  'position' : 'fixed',
159
158
  'top' : base.options.bottom == -1?getMarginTop():'',
@@ -161,9 +160,9 @@
161
160
  'margin-left' : '0px'
162
161
  }
163
162
  if (!base.options.dontSetWidth){ cssOptions['width']=target.width(); };
164
-
163
+
165
164
  target.css(cssOptions);
166
-
165
+
167
166
  target.addClass('scroll-to-fixed-fixed');
168
167
 
169
168
  if (base.options.className) {
@@ -180,7 +179,7 @@
180
179
  var left = offsetLeft;
181
180
 
182
181
  if (base.options.removeOffsets) {
183
- left = 0;
182
+ left = '';
184
183
  top = top - offsetTop;
185
184
  }
186
185
 
@@ -190,9 +189,9 @@
190
189
  'left' : left,
191
190
  'margin-left' : '0px',
192
191
  'bottom' : ''
193
- }
192
+ }
194
193
  if (!base.options.dontSetWidth){ cssOptions['width']=target.width(); };
195
-
194
+
196
195
  target.css(cssOptions);
197
196
 
198
197
  position = 'absolute';
@@ -214,7 +213,7 @@
214
213
  'width' : '',
215
214
  'position' : originalPosition,
216
215
  'left' : '',
217
- 'top' : originalOffset.top,
216
+ 'top' : originalOffsetTop,
218
217
  'margin-left' : ''
219
218
  });
220
219
 
@@ -283,6 +282,13 @@
283
282
  setUnfixed();
284
283
  target.trigger('unfixed.ScrollToFixed');
285
284
  }
285
+ } else if (base.options.maxWidth && $(window).width() > base.options.maxWidth) {
286
+ if (!isUnfixed() || !wasReset) {
287
+ postPosition();
288
+ target.trigger('preUnfixed.ScrollToFixed');
289
+ setUnfixed();
290
+ target.trigger('unfixed.ScrollToFixed');
291
+ }
286
292
  } else if (base.options.bottom == -1) {
287
293
  // If the vertical scroll position, plus the optional margin, would
288
294
  // put the target element at the specified limit, set the target
@@ -329,7 +335,7 @@
329
335
  if (isFixed()) {
330
336
  postPosition();
331
337
  target.trigger('preUnfixed.ScrollToFixed');
332
-
338
+
333
339
  if (originalPosition === 'absolute') {
334
340
  setAbsolute();
335
341
  } else {
@@ -360,7 +366,7 @@
360
366
 
361
367
  function postPosition() {
362
368
  var position = target.css('position');
363
-
369
+
364
370
  if (position == 'absolute') {
365
371
  target.trigger('postAbsolute.ScrollToFixed');
366
372
  } else if (position == 'fixed') {
@@ -376,7 +382,7 @@
376
382
  if(target.is(':visible')) {
377
383
  isReset = false;
378
384
  checkScroll();
379
- }
385
+ }
380
386
  }
381
387
 
382
388
  var windowScroll = function(event) {
@@ -449,7 +455,7 @@
449
455
  position = target.css('position');
450
456
  originalPosition = target.css('position');
451
457
 
452
- originalOffset = $.extend({}, target.offset());
458
+ originalOffsetTop = target.css('top');
453
459
 
454
460
  // Place the spacer right after the target element.
455
461
  if (isUnfixed()) base.$el.after(spacer);
@@ -461,7 +467,7 @@
461
467
  // When the window scrolls, check to see if we need to fix or unfix
462
468
  // the target element.
463
469
  $(window).bind('scroll.ScrollToFixed', windowScroll);
464
-
470
+
465
471
  if (base.options.preFixed) {
466
472
  target.bind('preFixed.ScrollToFixed', base.options.preFixed);
467
473
  }
@@ -504,7 +510,7 @@
504
510
 
505
511
  target.bind('detach.ScrollToFixed', function(ev) {
506
512
  preventDefault(ev);
507
-
513
+
508
514
  target.trigger('preUnfixed.ScrollToFixed');
509
515
  setUnfixed();
510
516
  target.trigger('unfixed.ScrollToFixed');
@@ -513,9 +519,13 @@
513
519
  $(window).unbind('scroll.ScrollToFixed', windowScroll);
514
520
 
515
521
  target.unbind('.ScrollToFixed');
522
+
523
+ //remove spacer from dom
524
+ spacer.remove();
525
+
516
526
  base.$el.removeData('ScrollToFixed');
517
527
  });
518
-
528
+
519
529
  // Reset everything.
520
530
  windowResize();
521
531
  };
@@ -1,3 +1,3 @@
1
1
  module ScrollToFixedRails
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.1"
3
3
  end
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scrollToFixed_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
5
- prerelease:
4
+ version: 1.0.1
6
5
  platform: ruby
7
6
  authors:
8
7
  - Guy Israeli
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-09-05 00:00:00.000000000 Z
11
+ date: 2014-01-22 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: bundler
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ~>
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :development
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rake
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: railties
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ! '>='
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ! '>='
60
53
  - !ruby/object:Gem::Version
@@ -77,26 +70,25 @@ files:
77
70
  homepage: https://github.com/guyisra/scrollToFixed_rails
78
71
  licenses:
79
72
  - MIT
73
+ metadata: {}
80
74
  post_install_message:
81
75
  rdoc_options: []
82
76
  require_paths:
83
77
  - lib
84
78
  required_ruby_version: !ruby/object:Gem::Requirement
85
- none: false
86
79
  requirements:
87
80
  - - ! '>='
88
81
  - !ruby/object:Gem::Version
89
82
  version: '0'
90
83
  required_rubygems_version: !ruby/object:Gem::Requirement
91
- none: false
92
84
  requirements:
93
85
  - - ! '>='
94
86
  - !ruby/object:Gem::Version
95
87
  version: '0'
96
88
  requirements: []
97
89
  rubyforge_project:
98
- rubygems_version: 1.8.24
90
+ rubygems_version: 2.1.3
99
91
  signing_key:
100
- specification_version: 3
92
+ specification_version: 4
101
93
  summary: 9gag like Scroll 'n Float magic made possible with scrollToFixed.js
102
94
  test_files: []