鍑芥暟鑺傛祦

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了鍑芥暟鑺傛祦相关的知识,希望对你有一定的参考价值。

鏍囩锛?/p>

姝ゆ枃绔犲彧涓轰簡甯姪鑷繁璁板繂 銆?/p>

浠ヤ笅鍦烘櫙寰€寰€鐢变簬浜嬩欢棰戠箒琚Е鍙戯紝鍥犺€岄绻佹墽琛孌OM鎿嶄綔銆佽祫婧愬姞杞界瓑閲嶈涓猴紝瀵艰嚧UI鍋滈】鐢氳嚦娴忚鍣ㄥ穿婧冦€?/p>

  1. window瀵硅薄鐨剅esize銆乻croll浜嬩欢

  2. 鎷栨嫿鏃剁殑mousemove浜嬩欢

  3. 灏勫嚮娓告垙涓殑mousedown銆乲eydown浜嬩欢

  4. 鏂囧瓧杈撳叆銆佽嚜鍔ㄥ畬鎴愮殑keyup浜嬩欢

 

瀹為檯涓婂浜巜indow鐨剅esize浜嬩欢锛屽疄闄呴渶姹傚ぇ澶氫负鍋滄鏀瑰彉澶у皬n姣鍚庢墽琛屽悗缁鐞嗭紱鑰屽叾浠栦簨浠跺ぇ澶氱殑闇€姹傛槸浠ヤ竴瀹氱殑棰戠巼鎵ц鍚庣画澶勭悊銆傞拡瀵硅繖涓ょ闇€姹傚氨鍑虹幇浜唗hrottle銆?/p>

 鏂规硶1锛氬叏閮ㄤ笢瑗垮悎骞舵垚涓€涓€?/p>

var debounce = function(idle, action){
  var last
  return function(){
    var ctx = this, args = arguments
    clearTimeout(last)
    last = setTimeout(function(){
        action.apply(ctx, args)
    }, idle)
  }
}

鏂规硶2:鏂规硶1鐨勫姞寮虹増锛岃鏃堕棿绱Н鍒颁竴涓€硷紝椹笂瑙﹀彂銆?/p>

        function throttle(fn,delay,mustDoTime){
            var last;
            var id;
            return function(){
                var current = +new Date();
                var args = arguments;
                var $this = this;
                clearTimeout(id);
                //绗竴娆℃椂闂存槸涓€鏍风殑
                if(!last){
                    last = current;
                }
                //鏃堕棿瓒呰繃浜嗗繀椤绘墽琛岀殑鏃堕棿锛屽氨鐩存帴鎵ц
                if(current - last >= mustDoTime){
                    fn.apply($this,args);
                    last = current;
                }else{
                    id = setTimeout(function(){
                        fn.apply($this,args);
                    },delay);
                }
            }
        }
        var obj = {name:"澶у彅"};
        var test = throttle(function(){
            console.log(this.name);
        },100,100);
        for(var index = 0;index < 10000;index ++){
            test.call(obj);
        }

 

以上是关于鍑芥暟鑺傛祦的主要内容,如果未能解决你的问题,请参考以下文章

Java 瀛楃鐮併€佸瓧绗︽祦銆佸瓧鑺傛祦

鐩稿鍐呭瓨鐨勬枃浠舵搷浣滃瓧鑺傛祦

鍗侊細楂橀樁鍑芥暟鍜岄€掑綊鍑芥暟

python閫掑綊鍑芥暟

python鍑芥暟

js鍑芥暟鏂规硶