function getOffset(el) { var $el = $(el) var offset if ($.isWindow(el)) { // window use scroll offset = { top: $el.scrollTop(), left: $el.scrollLeft() } } else { offset = $el.offset() } return _.extend(offset, { height: $el.innerHeight(), width: $el.innerWidth() }) }
exports.add = function() { var args = arguments var opt = addReopt.get(args) if (!opt) return debug('unknown args', args) opt = _.extend({}, exports.absent, opt, opt.opt) var $el = $(opt.el) if (!opt.scrollOut && false !== opt.once) { // also once opt.once = true } if (0 == arr.length && $el.length) { exports.init() } _.each($el, function(el) { $(el).data(optName, _.only(opt, 'scrollIn scrollOut className once isInView')) arr.push(el) check(el) }) }