Main theme for SuiteDesk
This commit is contained in:
parent
8cf3c56044
commit
42540d1310
185 changed files with 17597 additions and 0 deletions
60
themes/zuitedesk/js/jquery.inview.js
Normal file
60
themes/zuitedesk/js/jquery.inview.js
Normal file
|
@ -0,0 +1,60 @@
|
|||
/**
|
||||
* author Remy Sharp
|
||||
* url http://remysharp.com/2009/01/26/element-in-view-event-plugin/
|
||||
*/
|
||||
(function ($) {
|
||||
function getViewportHeight() {
|
||||
var height = window.innerHeight; // Safari, Opera
|
||||
var mode = document.compatMode;
|
||||
|
||||
if ( (mode || !$.support.boxModel) ) { // IE, Gecko
|
||||
height = (mode == 'CSS1Compat') ?
|
||||
document.documentElement.clientHeight : // Standards
|
||||
document.body.clientHeight; // Quirks
|
||||
}
|
||||
|
||||
return height;
|
||||
}
|
||||
|
||||
$(window).scroll(function () {
|
||||
var vpH = getViewportHeight(),
|
||||
scrolltop = (document.documentElement.scrollTop ?
|
||||
document.documentElement.scrollTop :
|
||||
document.body.scrollTop),
|
||||
elems = [];
|
||||
|
||||
// naughty, but this is how it knows which elements to check for
|
||||
$.each($.cache, function () {
|
||||
if (this.events && this.events.inview) {
|
||||
elems.push(this.handle.elem);
|
||||
}
|
||||
});
|
||||
|
||||
if (elems.length) {
|
||||
$(elems).each(function () {
|
||||
var $el = $(this),
|
||||
top = $el.offset().top,
|
||||
height = $el.height(),
|
||||
inview = $el.data('inview') || false;
|
||||
|
||||
if (scrolltop > (top + height) || scrolltop + vpH < top) {
|
||||
if (inview) {
|
||||
$el.data('inview', false);
|
||||
$el.trigger('inview', [ false ]);
|
||||
}
|
||||
} else if (scrolltop < (top + height)) {
|
||||
if (!inview) {
|
||||
$el.data('inview', true);
|
||||
$el.trigger('inview', [ true ]);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// kick the event to pick up any elements already in view.
|
||||
// note however, this only works if the plugin is included after the elements are bound to 'inview'
|
||||
$(function () {
|
||||
$(window).scroll();
|
||||
});
|
||||
})($jq);
|
Reference in a new issue