| Server IP : 123.56.80.60 / Your IP : 216.73.216.78 Web Server : Apache/2.4.54 (Win32) OpenSSL/1.1.1s PHP/7.4.33 mod_fcgid/2.3.10-dev System : Windows NT iZhx3sob14hnz7Z 10.0 build 14393 (Windows Server 2016) i586 User : SYSTEM ( 0) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/wamp/apps/phpmyadmin5.2.0/js/vendor/jquery/ |
Upload File : |
/**
* Debounce and throttle function's decorator plugin 1.0.6
*
* Copyright (c) 2009 Filatov Dmitry (alpha@zforms.ru)
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
*/
(function ($) {
$.extend({
/**
* Debounce's decorator
* @param {Function} fn original function
* @param {Number} timeout timeout
* @param {Boolean} [invokeAsap=false] invoke function as soon as possible
* @param {Object} [ctx] context of original function
*/
debounce: function (fn, timeout, invokeAsap, ctx) {
if (arguments.length == 3 && typeof invokeAsap != 'boolean') {
ctx = invokeAsap;
invokeAsap = false;
}
var timer;
return function () {
var args = arguments;
ctx = ctx || this;
invokeAsap && !timer && fn.apply(ctx, args);
clearTimeout(timer);
timer = setTimeout(function () {
invokeAsap || fn.apply(ctx, args);
timer = null;
}, timeout);
};
},
/**
* Throttle's decorator
* @param {Function} fn original function
* @param {Number} timeout timeout
* @param {Object} [ctx] context of original function
*/
throttle: function (fn, timeout, ctx) {
var timer, args, needInvoke;
return function () {
args = arguments;
needInvoke = true;
ctx = ctx || this;
timer || (function () {
if (needInvoke) {
fn.apply(ctx, args);
needInvoke = false;
timer = setTimeout(arguments.callee, timeout);
}
else {
timer = null;
}
})();
};
}
});
})(jQuery);