semantic-ui-sass 1.12.3.0 → 2.0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/app/assets/javascripts/semantic-ui.js +1 -0
- data/app/assets/javascripts/semantic-ui/accordion.js +67 -53
- data/app/assets/javascripts/semantic-ui/api.js +395 -189
- data/app/assets/javascripts/semantic-ui/checkbox.js +322 -114
- data/app/assets/javascripts/semantic-ui/colorize.js +4 -2
- data/app/assets/javascripts/semantic-ui/dimmer.js +74 -50
- data/app/assets/javascripts/semantic-ui/dropdown.js +2046 -584
- data/app/assets/javascripts/semantic-ui/embed.js +662 -0
- data/app/assets/javascripts/semantic-ui/form.js +345 -163
- data/app/assets/javascripts/semantic-ui/modal.js +119 -90
- data/app/assets/javascripts/semantic-ui/nag.js +8 -9
- data/app/assets/javascripts/semantic-ui/popup.js +390 -228
- data/app/assets/javascripts/semantic-ui/progress.js +112 -103
- data/app/assets/javascripts/semantic-ui/rating.js +79 -55
- data/app/assets/javascripts/semantic-ui/search.js +305 -123
- data/app/assets/javascripts/semantic-ui/shape.js +94 -48
- data/app/assets/javascripts/semantic-ui/sidebar.js +84 -151
- data/app/assets/javascripts/semantic-ui/site.js +5 -5
- data/app/assets/javascripts/semantic-ui/state.js +4 -4
- data/app/assets/javascripts/semantic-ui/sticky.js +108 -35
- data/app/assets/javascripts/semantic-ui/tab.js +220 -125
- data/app/assets/javascripts/semantic-ui/transition.js +205 -171
- data/app/assets/javascripts/semantic-ui/visibility.js +220 -100
- data/app/assets/javascripts/semantic-ui/visit.js +6 -4
- data/app/assets/stylesheets/semantic-ui/collections/_breadcrumb.scss +17 -16
- data/app/assets/stylesheets/semantic-ui/collections/_form.scss +223 -121
- data/app/assets/stylesheets/semantic-ui/collections/_grid.scss +462 -448
- data/app/assets/stylesheets/semantic-ui/collections/_menu.scss +949 -665
- data/app/assets/stylesheets/semantic-ui/collections/_message.scss +134 -92
- data/app/assets/stylesheets/semantic-ui/collections/_table.scss +270 -208
- data/app/assets/stylesheets/semantic-ui/elements/_all.scss +1 -0
- data/app/assets/stylesheets/semantic-ui/elements/_button.scss +1357 -521
- data/app/assets/stylesheets/semantic-ui/elements/_container.scss +125 -0
- data/app/assets/stylesheets/semantic-ui/elements/_divider.scss +51 -31
- data/app/assets/stylesheets/semantic-ui/elements/_flag.scss +3 -3
- data/app/assets/stylesheets/semantic-ui/elements/_header.scss +270 -144
- data/app/assets/stylesheets/semantic-ui/elements/_icon.scss +241 -110
- data/app/assets/stylesheets/semantic-ui/elements/_image.scss +30 -16
- data/app/assets/stylesheets/semantic-ui/elements/_input.scss +88 -53
- data/app/assets/stylesheets/semantic-ui/elements/_label.scss +432 -281
- data/app/assets/stylesheets/semantic-ui/elements/_list.scss +172 -128
- data/app/assets/stylesheets/semantic-ui/elements/_loader.scss +16 -14
- data/app/assets/stylesheets/semantic-ui/elements/_rail.scss +15 -7
- data/app/assets/stylesheets/semantic-ui/elements/_reveal.scss +32 -13
- data/app/assets/stylesheets/semantic-ui/elements/_segment.scss +329 -212
- data/app/assets/stylesheets/semantic-ui/elements/_step.scss +291 -99
- data/app/assets/stylesheets/semantic-ui/globals/_reset.scss +2 -2
- data/app/assets/stylesheets/semantic-ui/globals/_site.scss +19 -18
- data/app/assets/stylesheets/semantic-ui/modules/_accordion.scss +17 -18
- data/app/assets/stylesheets/semantic-ui/modules/_all.scss +1 -0
- data/app/assets/stylesheets/semantic-ui/modules/_checkbox.scss +265 -161
- data/app/assets/stylesheets/semantic-ui/modules/_dimmer.scss +29 -15
- data/app/assets/stylesheets/semantic-ui/modules/_dropdown.scss +441 -156
- data/app/assets/stylesheets/semantic-ui/modules/_embed.scss +168 -0
- data/app/assets/stylesheets/semantic-ui/modules/_modal.scss +163 -85
- data/app/assets/stylesheets/semantic-ui/modules/_nag.scss +8 -8
- data/app/assets/stylesheets/semantic-ui/modules/_popup.scss +88 -23
- data/app/assets/stylesheets/semantic-ui/modules/_progress.scss +185 -129
- data/app/assets/stylesheets/semantic-ui/modules/_rating.scss +75 -60
- data/app/assets/stylesheets/semantic-ui/modules/_search.scss +99 -52
- data/app/assets/stylesheets/semantic-ui/modules/_shape.scss +11 -11
- data/app/assets/stylesheets/semantic-ui/modules/_sidebar.scss +16 -12
- data/app/assets/stylesheets/semantic-ui/modules/_sticky.scss +4 -4
- data/app/assets/stylesheets/semantic-ui/modules/_tab.scss +3 -3
- data/app/assets/stylesheets/semantic-ui/modules/_transition.scss +31 -39
- data/app/assets/stylesheets/semantic-ui/views/_ad.scss +3 -3
- data/app/assets/stylesheets/semantic-ui/views/_all.scss +1 -0
- data/app/assets/stylesheets/semantic-ui/views/_card.scss +204 -162
- data/app/assets/stylesheets/semantic-ui/views/_comment.scss +6 -6
- data/app/assets/stylesheets/semantic-ui/views/_feed.scss +51 -26
- data/app/assets/stylesheets/semantic-ui/views/_item.scss +62 -36
- data/app/assets/stylesheets/semantic-ui/views/_statistic.scss +265 -90
- data/lib/semantic/ui/sass/version.rb +2 -2
- data/semantic-ui-sass.gemspec +2 -2
- metadata +9 -6
@@ -1,9 +1,9 @@
|
|
1
1
|
/*!
|
2
|
-
* # Semantic UI
|
2
|
+
* # Semantic UI - Visibility
|
3
3
|
* http://github.com/semantic-org/semantic-ui/
|
4
4
|
*
|
5
5
|
*
|
6
|
-
* Copyright
|
6
|
+
* Copyright 2015 Contributors
|
7
7
|
* Released under the MIT license
|
8
8
|
* http://opensource.org/licenses/MIT
|
9
9
|
*
|
@@ -37,6 +37,7 @@ $.fn.visibility = function(parameters) {
|
|
37
37
|
className = settings.className,
|
38
38
|
namespace = settings.namespace,
|
39
39
|
error = settings.error,
|
40
|
+
metadata = settings.metadata,
|
40
41
|
|
41
42
|
eventNamespace = '.' + namespace,
|
42
43
|
moduleNamespace = 'module-' + namespace,
|
@@ -45,8 +46,10 @@ $.fn.visibility = function(parameters) {
|
|
45
46
|
|
46
47
|
$module = $(this),
|
47
48
|
$context = $(settings.context),
|
48
|
-
selector = $module.selector || '',
|
49
49
|
|
50
|
+
$placeholder,
|
51
|
+
|
52
|
+
selector = $module.selector || '',
|
50
53
|
instance = $module.data(moduleNamespace),
|
51
54
|
|
52
55
|
requestAnimationFrame = window.requestAnimationFrame
|
@@ -56,6 +59,8 @@ $.fn.visibility = function(parameters) {
|
|
56
59
|
|| function(callback) { setTimeout(callback, 0); },
|
57
60
|
|
58
61
|
element = this,
|
62
|
+
disabled = false,
|
63
|
+
|
59
64
|
observer,
|
60
65
|
module
|
61
66
|
;
|
@@ -66,23 +71,27 @@ $.fn.visibility = function(parameters) {
|
|
66
71
|
module.debug('Initializing', settings);
|
67
72
|
|
68
73
|
module.setup.cache();
|
69
|
-
module.save.position();
|
70
74
|
|
71
75
|
if( module.should.trackChanges() ) {
|
72
|
-
|
76
|
+
|
73
77
|
if(settings.type == 'image') {
|
74
78
|
module.setup.image();
|
75
79
|
}
|
76
80
|
if(settings.type == 'fixed') {
|
77
81
|
module.setup.fixed();
|
78
82
|
}
|
83
|
+
|
79
84
|
if(settings.observeChanges) {
|
80
85
|
module.observeChanges();
|
81
86
|
}
|
82
|
-
|
83
|
-
module.error(error.visible, $module);
|
84
|
-
}
|
87
|
+
module.bind.events();
|
85
88
|
}
|
89
|
+
|
90
|
+
module.save.position();
|
91
|
+
if( !module.is.visible() ) {
|
92
|
+
module.error(error.visible, $module);
|
93
|
+
}
|
94
|
+
|
86
95
|
if(settings.initialCheck) {
|
87
96
|
module.checkVisibility();
|
88
97
|
}
|
@@ -103,10 +112,12 @@ $.fn.visibility = function(parameters) {
|
|
103
112
|
observer.disconnect();
|
104
113
|
}
|
105
114
|
$window
|
106
|
-
.off('load'
|
115
|
+
.off('load' + eventNamespace, module.event.load)
|
107
116
|
.off('resize' + eventNamespace, module.event.resize)
|
108
117
|
;
|
109
|
-
$context
|
118
|
+
$context
|
119
|
+
.off('scrollchange' + eventNamespace, module.event.scrollchange)
|
120
|
+
;
|
110
121
|
$module
|
111
122
|
.off(eventNamespace)
|
112
123
|
.removeData(moduleNamespace)
|
@@ -114,9 +125,6 @@ $.fn.visibility = function(parameters) {
|
|
114
125
|
},
|
115
126
|
|
116
127
|
observeChanges: function() {
|
117
|
-
var
|
118
|
-
context = $context[0]
|
119
|
-
;
|
120
128
|
if('MutationObserver' in window) {
|
121
129
|
observer = new MutationObserver(function(mutations) {
|
122
130
|
module.verbose('DOM tree modified, updating visibility calculations');
|
@@ -136,55 +144,29 @@ $.fn.visibility = function(parameters) {
|
|
136
144
|
bind: {
|
137
145
|
events: function() {
|
138
146
|
module.verbose('Binding visibility events to scroll and resize');
|
147
|
+
if(settings.refreshOnLoad) {
|
148
|
+
$window
|
149
|
+
.on('load' + eventNamespace, module.event.load)
|
150
|
+
;
|
151
|
+
}
|
139
152
|
$window
|
140
|
-
.on('load' + eventNamespace, module.event.load)
|
141
153
|
.on('resize' + eventNamespace, module.event.resize)
|
142
154
|
;
|
143
155
|
// pub/sub pattern
|
144
156
|
$context
|
145
|
-
.off('scroll'
|
146
|
-
.on('scroll'
|
157
|
+
.off('scroll' + eventNamespace)
|
158
|
+
.on('scroll' + eventNamespace, module.event.scroll)
|
147
159
|
.on('scrollchange' + eventNamespace, module.event.scrollchange)
|
148
160
|
;
|
149
|
-
},
|
150
|
-
imageLoad: function() {
|
151
|
-
var
|
152
|
-
$images = $module.find('img'),
|
153
|
-
imageCount = $images.length,
|
154
|
-
index = imageCount,
|
155
|
-
loadedCount = 0,
|
156
|
-
images = [],
|
157
|
-
cache = [],
|
158
|
-
cacheImage = document.createElement('img'),
|
159
|
-
handleLoad = function() {
|
160
|
-
loadedCount++;
|
161
|
-
if(loadedCount >= imageCount) {
|
162
|
-
module.debug('Images finished loading inside element, refreshing position');
|
163
|
-
module.refresh();
|
164
|
-
}
|
165
|
-
}
|
166
|
-
;
|
167
|
-
if(imageCount > 0) {
|
168
|
-
$images
|
169
|
-
.each(function() {
|
170
|
-
images.push( $(this).attr('src') );
|
171
|
-
})
|
172
|
-
;
|
173
|
-
while(index--) {
|
174
|
-
cacheImage = document.createElement('img');
|
175
|
-
cacheImage.onload = handleLoad;
|
176
|
-
cacheImage.onerror = handleLoad;
|
177
|
-
cacheImage.src = images[index];
|
178
|
-
cache.push(cacheImage);
|
179
|
-
}
|
180
|
-
}
|
181
161
|
}
|
182
162
|
},
|
183
163
|
|
184
164
|
event: {
|
185
165
|
resize: function() {
|
186
166
|
module.debug('Window resized');
|
187
|
-
|
167
|
+
if(settings.refreshOnResize) {
|
168
|
+
requestAnimationFrame(module.refresh);
|
169
|
+
}
|
188
170
|
},
|
189
171
|
load: function() {
|
190
172
|
module.debug('Page finished loading');
|
@@ -195,12 +177,12 @@ $.fn.visibility = function(parameters) {
|
|
195
177
|
if(settings.throttle) {
|
196
178
|
clearTimeout(module.timer);
|
197
179
|
module.timer = setTimeout(function() {
|
198
|
-
$context.
|
180
|
+
$context.triggerHandler('scrollchange' + eventNamespace, [ $context.scrollTop() ]);
|
199
181
|
}, settings.throttle);
|
200
182
|
}
|
201
183
|
else {
|
202
184
|
requestAnimationFrame(function() {
|
203
|
-
$context.
|
185
|
+
$context.triggerHandler('scrollchange' + eventNamespace, [ $context.scrollTop() ]);
|
204
186
|
});
|
205
187
|
}
|
206
188
|
},
|
@@ -237,6 +219,16 @@ $.fn.visibility = function(parameters) {
|
|
237
219
|
}
|
238
220
|
},
|
239
221
|
|
222
|
+
enableCallbacks: function() {
|
223
|
+
module.debug('Allowing callbacks to occur');
|
224
|
+
disabled = false;
|
225
|
+
},
|
226
|
+
|
227
|
+
disableCallbacks: function() {
|
228
|
+
module.debug('Disabling all callbacks temporarily');
|
229
|
+
disabled = true;
|
230
|
+
},
|
231
|
+
|
240
232
|
should: {
|
241
233
|
trackChanges: function() {
|
242
234
|
if(methodInvoked) {
|
@@ -258,31 +250,37 @@ $.fn.visibility = function(parameters) {
|
|
258
250
|
},
|
259
251
|
image: function() {
|
260
252
|
var
|
261
|
-
src = $module.data(
|
253
|
+
src = $module.data(metadata.src)
|
262
254
|
;
|
263
255
|
if(src) {
|
264
256
|
module.verbose('Lazy loading image', src);
|
257
|
+
settings.once = true;
|
265
258
|
settings.observeChanges = false;
|
259
|
+
|
266
260
|
// show when top visible
|
267
|
-
|
268
|
-
module.debug('Image
|
261
|
+
settings.onOnScreen = function() {
|
262
|
+
module.debug('Image on screen', element);
|
269
263
|
module.precache(src, function() {
|
270
264
|
module.set.image(src);
|
271
|
-
settings.onTopVisible = false;
|
272
265
|
});
|
273
|
-
}
|
266
|
+
};
|
274
267
|
}
|
275
268
|
},
|
276
269
|
fixed: function() {
|
277
|
-
module.
|
278
|
-
settings.once
|
270
|
+
module.debug('Setting up fixed');
|
271
|
+
settings.once = false;
|
272
|
+
settings.observeChanges = false;
|
273
|
+
settings.initialCheck = true;
|
274
|
+
settings.refreshOnLoad = true;
|
275
|
+
if(!parameters.transition) {
|
276
|
+
settings.transition = false;
|
277
|
+
}
|
278
|
+
module.create.placeholder();
|
279
|
+
module.debug('Added placeholder', $placeholder);
|
279
280
|
settings.onTopPassed = function() {
|
280
|
-
$module
|
281
|
-
|
282
|
-
|
283
|
-
top: settings.offset + 'px'
|
284
|
-
})
|
285
|
-
;
|
281
|
+
module.debug('Element passed, adding fixed position', $module);
|
282
|
+
module.show.placeholder();
|
283
|
+
module.set.fixed();
|
286
284
|
if(settings.transition) {
|
287
285
|
if($.fn.transition !== undefined) {
|
288
286
|
$module.transition(settings.transition, settings.duration);
|
@@ -290,49 +288,91 @@ $.fn.visibility = function(parameters) {
|
|
290
288
|
}
|
291
289
|
};
|
292
290
|
settings.onTopPassedReverse = function() {
|
293
|
-
$module
|
294
|
-
|
295
|
-
|
296
|
-
position: '',
|
297
|
-
top: ''
|
298
|
-
})
|
299
|
-
;
|
291
|
+
module.debug('Element returned to position, removing fixed', $module);
|
292
|
+
module.hide.placeholder();
|
293
|
+
module.remove.fixed();
|
300
294
|
};
|
301
295
|
}
|
302
296
|
},
|
303
297
|
|
298
|
+
create: {
|
299
|
+
placeholder: function() {
|
300
|
+
module.verbose('Creating fixed position placeholder');
|
301
|
+
$placeholder = $module
|
302
|
+
.clone(false)
|
303
|
+
.css('display', 'none')
|
304
|
+
.addClass(className.placeholder)
|
305
|
+
.insertAfter($module)
|
306
|
+
;
|
307
|
+
}
|
308
|
+
},
|
309
|
+
|
310
|
+
show: {
|
311
|
+
placeholder: function() {
|
312
|
+
module.verbose('Showing placeholder');
|
313
|
+
$placeholder
|
314
|
+
.css('display', 'block')
|
315
|
+
.css('visibility', 'hidden')
|
316
|
+
;
|
317
|
+
}
|
318
|
+
},
|
319
|
+
hide: {
|
320
|
+
placeholder: function() {
|
321
|
+
module.verbose('Hiding placeholder');
|
322
|
+
$placeholder
|
323
|
+
.css('display', 'none')
|
324
|
+
.css('visibility', '')
|
325
|
+
;
|
326
|
+
}
|
327
|
+
},
|
328
|
+
|
304
329
|
set: {
|
305
|
-
|
306
|
-
|
307
|
-
|
330
|
+
fixed: function() {
|
331
|
+
module.verbose('Setting element to fixed position');
|
332
|
+
$module
|
333
|
+
.addClass(className.fixed)
|
334
|
+
.css({
|
335
|
+
position : 'fixed',
|
336
|
+
top : settings.offset + 'px',
|
337
|
+
left : 'auto',
|
338
|
+
zIndex : '1'
|
339
|
+
})
|
308
340
|
;
|
341
|
+
},
|
342
|
+
image: function(src) {
|
309
343
|
$module
|
310
344
|
.attr('src', src)
|
311
345
|
;
|
312
|
-
if(
|
313
|
-
|
314
|
-
|
315
|
-
}
|
316
|
-
else {
|
317
|
-
if(settings.transition) {
|
318
|
-
if( $.fn.transition !== undefined ) {
|
319
|
-
$module.transition(settings.transition, settings.duration);
|
320
|
-
}
|
321
|
-
else {
|
322
|
-
$module.fadeIn(settings.duration);
|
323
|
-
}
|
346
|
+
if(settings.transition) {
|
347
|
+
if( $.fn.transition !== undefined ) {
|
348
|
+
$module.transition(settings.transition, settings.duration);
|
324
349
|
}
|
325
350
|
else {
|
326
|
-
$module.
|
351
|
+
$module.fadeIn(settings.duration);
|
327
352
|
}
|
328
353
|
}
|
354
|
+
else {
|
355
|
+
$module.show();
|
356
|
+
}
|
329
357
|
}
|
330
358
|
},
|
331
359
|
|
332
360
|
is: {
|
361
|
+
onScreen: function() {
|
362
|
+
var
|
363
|
+
calculations = module.get.elementCalculations()
|
364
|
+
;
|
365
|
+
return calculations.onScreen;
|
366
|
+
},
|
367
|
+
offScreen: function() {
|
368
|
+
var
|
369
|
+
calculations = module.get.elementCalculations()
|
370
|
+
;
|
371
|
+
return calculations.offScreen;
|
372
|
+
},
|
333
373
|
visible: function() {
|
334
374
|
if(module.cache && module.cache.element) {
|
335
|
-
return (module.cache.element.width
|
375
|
+
return !(module.cache.element.width === 0 && module.cache.element.offset.top === 0);
|
336
376
|
}
|
337
377
|
return false;
|
338
378
|
}
|
@@ -340,9 +380,15 @@ $.fn.visibility = function(parameters) {
|
|
340
380
|
|
341
381
|
refresh: function() {
|
342
382
|
module.debug('Refreshing constants (width/height)');
|
383
|
+
if(settings.type == 'fixed') {
|
384
|
+
module.remove.fixed();
|
385
|
+
module.remove.occurred();
|
386
|
+
}
|
343
387
|
module.reset();
|
344
388
|
module.save.position();
|
345
|
-
|
389
|
+
if(settings.checkOnRefresh) {
|
390
|
+
module.checkVisibility();
|
391
|
+
}
|
346
392
|
settings.onRefresh.call(element);
|
347
393
|
},
|
348
394
|
|
@@ -357,7 +403,7 @@ $.fn.visibility = function(parameters) {
|
|
357
403
|
checkVisibility: function(scroll) {
|
358
404
|
module.verbose('Checking visibility of element', module.cache.element);
|
359
405
|
|
360
|
-
if( module.is.visible() ) {
|
406
|
+
if( !disabled && module.is.visible() ) {
|
361
407
|
|
362
408
|
// save scroll position
|
363
409
|
module.save.scroll(scroll);
|
@@ -376,6 +422,8 @@ $.fn.visibility = function(parameters) {
|
|
376
422
|
module.bottomPassedReverse();
|
377
423
|
|
378
424
|
// one time
|
425
|
+
module.onScreen();
|
426
|
+
module.offScreen();
|
379
427
|
module.passing();
|
380
428
|
module.topVisible();
|
381
429
|
module.bottomVisible();
|
@@ -395,7 +443,7 @@ $.fn.visibility = function(parameters) {
|
|
395
443
|
amountInPixels
|
396
444
|
;
|
397
445
|
// assign callback
|
398
|
-
if(amount
|
446
|
+
if(amount && newCallback) {
|
399
447
|
settings.onPassed[amount] = newCallback;
|
400
448
|
}
|
401
449
|
else if(amount !== undefined) {
|
@@ -413,6 +461,48 @@ $.fn.visibility = function(parameters) {
|
|
413
461
|
}
|
414
462
|
},
|
415
463
|
|
464
|
+
onScreen: function(newCallback) {
|
465
|
+
var
|
466
|
+
calculations = module.get.elementCalculations(),
|
467
|
+
callback = newCallback || settings.onOnScreen,
|
468
|
+
callbackName = 'onScreen'
|
469
|
+
;
|
470
|
+
if(newCallback) {
|
471
|
+
module.debug('Adding callback for onScreen', newCallback);
|
472
|
+
settings.onOnScreen = newCallback;
|
473
|
+
}
|
474
|
+
if(calculations.onScreen) {
|
475
|
+
module.execute(callback, callbackName);
|
476
|
+
}
|
477
|
+
else if(!settings.once) {
|
478
|
+
module.remove.occurred(callbackName);
|
479
|
+
}
|
480
|
+
if(newCallback !== undefined) {
|
481
|
+
return calculations.onOnScreen;
|
482
|
+
}
|
483
|
+
},
|
484
|
+
|
485
|
+
offScreen: function(newCallback) {
|
486
|
+
var
|
487
|
+
calculations = module.get.elementCalculations(),
|
488
|
+
callback = newCallback || settings.onOffScreen,
|
489
|
+
callbackName = 'offScreen'
|
490
|
+
;
|
491
|
+
if(newCallback) {
|
492
|
+
module.debug('Adding callback for offScreen', newCallback);
|
493
|
+
settings.onOffScreen = newCallback;
|
494
|
+
}
|
495
|
+
if(calculations.offScreen) {
|
496
|
+
module.execute(callback, callbackName);
|
497
|
+
}
|
498
|
+
else if(!settings.once) {
|
499
|
+
module.remove.occurred(callbackName);
|
500
|
+
}
|
501
|
+
if(newCallback !== undefined) {
|
502
|
+
return calculations.onOffScreen;
|
503
|
+
}
|
504
|
+
},
|
505
|
+
|
416
506
|
passing: function(newCallback) {
|
417
507
|
var
|
418
508
|
calculations = module.get.elementCalculations(),
|
@@ -655,9 +745,24 @@ $.fn.visibility = function(parameters) {
|
|
655
745
|
},
|
656
746
|
|
657
747
|
remove: {
|
748
|
+
fixed: function() {
|
749
|
+
module.debug('Removing fixed position');
|
750
|
+
$module
|
751
|
+
.removeClass(className.fixed)
|
752
|
+
.css({
|
753
|
+
position : '',
|
754
|
+
top : '',
|
755
|
+
left : '',
|
756
|
+
zIndex : ''
|
757
|
+
})
|
758
|
+
;
|
759
|
+
},
|
658
760
|
occurred: function(callback) {
|
659
761
|
if(callback) {
|
660
|
-
|
762
|
+
var
|
763
|
+
occurred = module.cache.occurred
|
764
|
+
;
|
765
|
+
if(occurred[callback] !== undefined && occurred[callback] === true) {
|
661
766
|
module.debug('Callback can now be called again', callback);
|
662
767
|
module.cache.occurred[callback] = false;
|
663
768
|
}
|
@@ -747,9 +852,9 @@ $.fn.visibility = function(parameters) {
|
|
747
852
|
element.percentagePassed = 0;
|
748
853
|
|
749
854
|
// meta calculations
|
750
|
-
element.
|
751
|
-
element.passing
|
752
|
-
element.
|
855
|
+
element.onScreen = (element.topVisible && !element.bottomPassed);
|
856
|
+
element.passing = (element.topPassed && !element.bottomPassed);
|
857
|
+
element.offScreen = (!element.onScreen);
|
753
858
|
|
754
859
|
// passing calculations
|
755
860
|
if(element.passing) {
|
@@ -1001,6 +1106,8 @@ $.fn.visibility = function(parameters) {
|
|
1001
1106
|
if(instance === undefined) {
|
1002
1107
|
module.initialize();
|
1003
1108
|
}
|
1109
|
+
instance.save.scroll();
|
1110
|
+
instance.save.calculations();
|
1004
1111
|
module.invoke(query);
|
1005
1112
|
}
|
1006
1113
|
else {
|
@@ -1030,9 +1137,18 @@ $.fn.visibility.settings = {
|
|
1030
1137
|
// whether to use mutation observers to follow changes
|
1031
1138
|
observeChanges : true,
|
1032
1139
|
|
1140
|
+
// check position immediately on init
|
1141
|
+
initialCheck : true,
|
1142
|
+
|
1033
1143
|
// whether to refresh calculations after all page images load
|
1034
1144
|
refreshOnLoad : true,
|
1035
1145
|
|
1146
|
+
// whether to refresh calculations after page resize event
|
1147
|
+
refreshOnResize : true,
|
1148
|
+
|
1149
|
+
// should call callbacks on refresh event (resize, etc)
|
1150
|
+
checkOnRefresh : true,
|
1151
|
+
|
1036
1152
|
// callback should only occur one time
|
1037
1153
|
once : true,
|
1038
1154
|
|
@@ -1048,9 +1164,6 @@ $.fn.visibility.settings = {
|
|
1048
1164
|
// scroll context for visibility checks
|
1049
1165
|
context : window,
|
1050
1166
|
|
1051
|
-
// check position immediately on init
|
1052
|
-
initialCheck : true,
|
1053
|
-
|
1054
1167
|
// visibility check delay in ms (defaults to animationFrame)
|
1055
1168
|
throttle : false,
|
1056
1169
|
|
@@ -1058,13 +1171,15 @@ $.fn.visibility.settings = {
|
|
1058
1171
|
type : false,
|
1059
1172
|
|
1060
1173
|
// image only animation settings
|
1061
|
-
transition :
|
1174
|
+
transition : 'fade in',
|
1062
1175
|
duration : 1000,
|
1063
1176
|
|
1064
1177
|
// array of callbacks for percentage
|
1065
1178
|
onPassed : {},
|
1066
1179
|
|
1067
1180
|
// standard callbacks
|
1181
|
+
onOnScreen : false,
|
1182
|
+
onOffScreen : false,
|
1068
1183
|
onPassing : false,
|
1069
1184
|
onTopVisible : false,
|
1070
1185
|
onBottomVisible : false,
|
@@ -1082,8 +1197,13 @@ $.fn.visibility.settings = {
|
|
1082
1197
|
onUpdate : false, // disabled by default for performance
|
1083
1198
|
onRefresh : function(){},
|
1084
1199
|
|
1200
|
+
metadata : {
|
1201
|
+
src: 'src'
|
1202
|
+
},
|
1203
|
+
|
1085
1204
|
className: {
|
1086
|
-
fixed: 'fixed'
|
1205
|
+
fixed : 'fixed',
|
1206
|
+
placeholder : 'placeholder'
|
1087
1207
|
},
|
1088
1208
|
|
1089
1209
|
error : {
|