mirror of
				https://github.com/flynx/PortableMag.git
				synced 2025-10-31 03:50:16 +00:00 
			
		
		
		
	added animation step threshold...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									dbea22817a
								
							
						
					
					
						commit
						bba739562c
					
				
							
								
								
									
										38
									
								
								layout.js
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								layout.js
									
									
									
									
									
								
							| @ -178,6 +178,7 @@ function handleScrollRelease(evt, data){ | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| var USE_TRANSITIONS_FOR_ANIMATION = false | var USE_TRANSITIONS_FOR_ANIMATION = false | ||||||
|  | var MIN_STEP = 24 | ||||||
| 
 | 
 | ||||||
| var animationFrame = function(){ | var animationFrame = function(){ | ||||||
|   return (window.requestAnimationFrame |   return (window.requestAnimationFrame | ||||||
| @ -189,6 +190,7 @@ var animationFrame = function(){ | |||||||
| }() | }() | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | // XXX make this interruptable...
 | ||||||
| function animateElementTo(elem, to, duration, easing){ | function animateElementTo(elem, to, duration, easing){ | ||||||
| 	// use transition for animation...
 | 	// use transition for animation...
 | ||||||
| 	if(USE_TRANSITIONS_FOR_ANIMATION){ | 	if(USE_TRANSITIONS_FOR_ANIMATION){ | ||||||
| @ -212,6 +214,7 @@ function animateElementTo(elem, to, duration, easing){ | |||||||
| 			top: to.top - from.top, | 			top: to.top - from.top, | ||||||
| 			left: to.left - from.left, | 			left: to.left - from.left, | ||||||
| 		} | 		} | ||||||
|  | 		var prev_t = now | ||||||
| 
 | 
 | ||||||
| 		function animate(t){ | 		function animate(t){ | ||||||
| 			/* | 			/* | ||||||
| @ -220,25 +223,28 @@ function animateElementTo(elem, to, duration, easing){ | |||||||
| 				return | 				return | ||||||
| 			} | 			} | ||||||
| 			*/ | 			*/ | ||||||
|  | 			// try and not render things too often...
 | ||||||
|  | 			if(t - prev_t > MIN_STEP){ | ||||||
|  | 				// set position for current step...
 | ||||||
|  | 				if(t < then){ | ||||||
|  | 					prev_t = t | ||||||
|  | 					var rem = then - t | ||||||
|  | 					var r = rem/duration | ||||||
| 
 | 
 | ||||||
| 			// set position for current step...
 | 					// this is brain-dead linear spacing...
 | ||||||
| 			if(t < then){ | 					// XXX revise...
 | ||||||
| 				var rem = then - t | 					var pos = { | ||||||
| 				var r = rem/duration | 						top: to.top - (dist.top * r), | ||||||
|  | 						left: to.left - (dist.left * r), | ||||||
|  | 					} | ||||||
|  | 					 | ||||||
|  | 					setElementTransform(elem, pos) | ||||||
| 
 | 
 | ||||||
| 				// this is brain-dead linear spacing...
 | 				// finishup the animation...
 | ||||||
| 				// XXX revise...
 | 				} else if(t > then){ | ||||||
| 				var pos = { | 					setElementTransform(elem, to) | ||||||
| 					top: to.top - (dist.top * r), | 					return | ||||||
| 					left: to.left - (dist.left * r), |  | ||||||
| 				} | 				} | ||||||
| 				 |  | ||||||
| 				setElementTransform(elem, pos) |  | ||||||
| 
 |  | ||||||
| 			// finishup the animation...
 |  | ||||||
| 			} else if(t > then){ |  | ||||||
| 				setElementTransform(elem, to) |  | ||||||
| 				return |  | ||||||
| 			} | 			} | ||||||
| 			// sched next frame...
 | 			// sched next frame...
 | ||||||
| 			animationFrame(animate) | 			animationFrame(animate) | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user