Elemint

/**
 * @memberof $
 * @method $.offset
 *
 * @description
 * Manage element offsets.
 *
 * @param {Array|Element} target The target element(s).
 * @return {Object} methods An object containing the 'set, get' methods.
 *
 * @example
 * $.offset(target);
 * $(target).offset;
 */
var offset = function offset(subject) {
	var i = subject.length;
	(i > 0) || (subject = [subject], i = 1);

	return {
		get: bind(offsetGet, subject[0]),
		set: bind(offsetSet, [subject, i])
	};
};