v3 new release (#80)
This commit is contained in:
		
				
					committed by
					
						 GitHub
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							a767c8d3a1
						
					
				
				
					commit
					20d2b4f98d
				
			
							
								
								
									
										51
									
								
								node_modules/underscore/amd/throttle.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								node_modules/underscore/amd/throttle.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | ||||
| define(['./now'], function (now) { | ||||
|  | ||||
|   // Returns a function, that, when invoked, will only be triggered at most once | ||||
|   // during a given window of time. Normally, the throttled function will run | ||||
|   // as much as it can, without ever going more than once per `wait` duration; | ||||
|   // but if you'd like to disable the execution on the leading edge, pass | ||||
|   // `{leading: false}`. To disable execution on the trailing edge, ditto. | ||||
|   function throttle(func, wait, options) { | ||||
|     var timeout, context, args, result; | ||||
|     var previous = 0; | ||||
|     if (!options) options = {}; | ||||
|  | ||||
|     var later = function() { | ||||
|       previous = options.leading === false ? 0 : now(); | ||||
|       timeout = null; | ||||
|       result = func.apply(context, args); | ||||
|       if (!timeout) context = args = null; | ||||
|     }; | ||||
|  | ||||
|     var throttled = function() { | ||||
|       var _now = now(); | ||||
|       if (!previous && options.leading === false) previous = _now; | ||||
|       var remaining = wait - (_now - previous); | ||||
|       context = this; | ||||
|       args = arguments; | ||||
|       if (remaining <= 0 || remaining > wait) { | ||||
|         if (timeout) { | ||||
|           clearTimeout(timeout); | ||||
|           timeout = null; | ||||
|         } | ||||
|         previous = _now; | ||||
|         result = func.apply(context, args); | ||||
|         if (!timeout) context = args = null; | ||||
|       } else if (!timeout && options.trailing !== false) { | ||||
|         timeout = setTimeout(later, remaining); | ||||
|       } | ||||
|       return result; | ||||
|     }; | ||||
|  | ||||
|     throttled.cancel = function() { | ||||
|       clearTimeout(timeout); | ||||
|       previous = 0; | ||||
|       timeout = context = args = null; | ||||
|     }; | ||||
|  | ||||
|     return throttled; | ||||
|   } | ||||
|  | ||||
|   return throttle; | ||||
|  | ||||
| }); | ||||
		Reference in New Issue
	
	Block a user