Skip to main content

Debounce and throttle script

 

function debounce(fn, delay) {
  var timer = null;
  return function () {
    var context = this, args = arguments;
    clearTimeout(timer);
    timer = setTimeout(function () {
      fn.apply(context, args);
    }, delay);
  };
}
 
$('input.username').keypress(debounce(function (event) {
  // do the Ajax request
}, 250)); 




function throttle(fn, threshhold, scope) {
  threshhold || (threshhold = 250);
  var last,
      deferTimer;
  return function () {
    var context = scope || this;

    var now = +new Date,
        args = arguments;
    if (last && now < last + threshhold) {
      // hold on to it
      clearTimeout(deferTimer);
      deferTimer = setTimeout(function () {
        last = now;
        fn.apply(context, args);
      }, threshhold);
    } else {
      last = now;
      fn.apply(context, args);
    }
  };
}
 
 
$('body').on('mousemove', throttle(function (event) {
  console.log('tick');
}, 1000)); 

Comments

Popular posts from this blog

Enable Https by self-signing certification.

  Run make-ssl-cert command > sudo make-ssl-cert generate-default-snakeoil will created 2 files in following directory.     - /etc/ssl/certs/ssl-cert-snakeoil.pem     - /etc/ssl/private/ssl-cert-snakeoil.key Open /etc/apache2/site-avilable and find and modify with below line (with above certs paths) .         SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem         SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key > sudo a2ensite default-ssl > sudo a2enmode ssl > sudo systemctl restart apache2 Open https://localhost

simple recursive function to copy entire directories

<?php function recurse_copy ( $src , $dst ) {     $dir = opendir ( $src );     @ mkdir ( $dst );     while( false !== ( $file = readdir ( $dir )) ) {         if (( $file != '.' ) && ( $file != '..' )) {             if ( is_dir ( $src . '/' . $file ) ) {                 recurse_copy ( $src . '/' . $file , $dst . '/' . $file );             }             else {                 copy ( $src . '/' . $file , $dst . '/' . $file );             }         }     }     closedir ( $dir ); } ?>