lib/appear.js
function debounce(fn, delay) {
        return function () {
          var self = this, args = arguments;
          clearTimeout(timer);
          console.log('debounce()');
          timer = setTimeout(function () {
            fn.apply(self, args);
          }, delay);
        };
      }
function debounce(fn, delay) {
        return function () {
          var self = this, args = arguments;
          clearTimeout(timer);
          console.log('debounce()');
          timer = setTimeout(function () {
            fn.apply(self, args);
          }, delay);
        };
      }
function debounce ( fn , delay ) { return function ( ) { var self = this , args = arguments ; clearTimeout ( timer ) ; console . log ( 'debounce()' ) ; timer = setTimeout ( function ( ) { fn . apply ( self , args ) ; } , delay ) ; } ; }
handle debouncing a function for better performance on scroll
handle debouncing a function for better performance on scroll