鍑芥暟鑺傛祦
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); }
以上是关于鍑芥暟鑺傛祦的主要内容,如果未能解决你的问题,请参考以下文章