baseframe-js
Version:
A suite of useful Javascript plugins and functions to help with Front-end Development on websites
28 lines (27 loc) • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _cashDom = _interopRequireDefault(require("cash-dom"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var throttledResize = function throttledResize(callback) {
var _namespace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'throttledResize';
var manualTrigger = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
var delay = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 100;
var _throttledResize = null;
var namespace = _namespace !== '' ? ".".concat(_namespace) : '';
//must pass in a function for the first argument else exit the script
if (typeof callback !== 'function') {
console.error('first parameter should be a function');
return;
}
(0, _cashDom["default"])(window).on("resize".concat(namespace).concat(manualTrigger && ' ' + _namespace), function (e) {
clearTimeout(_throttledResize);
_throttledResize = setTimeout(callback, delay, e);
});
if (manualTrigger) {
setTimeout(callback, 0);
}
};
var _default = exports["default"] = throttledResize;