return function () {
            // Check how long it's been since the last time the function was
            // called, and whether it's more or less than the requested throttle
            // period. If it's less, run the function immediately. If it's more,
            // set a timeout for the remaining time -- but don't replace an