merge options for parallax step size #733
This commit is contained in:
		
							
								
								
									
										38
									
								
								js/reveal.js
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								js/reveal.js
									
									
									
									
									
								
							| @@ -136,6 +136,10 @@ | ||||
| 			// Parallax background size | ||||
| 			parallaxBackgroundSize: '', // CSS syntax, e.g. "3000px 2000px" | ||||
|  | ||||
| 			// Amount of pixels to move the parallax background per slide step | ||||
| 			parallaxBackgroundHorizontal: null, | ||||
| 			parallaxBackgroundVertical: null, | ||||
|  | ||||
| 			// Number of slides away from the current that are visible | ||||
| 			viewDistance: 3, | ||||
|  | ||||
| @@ -2672,15 +2676,35 @@ | ||||
| 				backgroundHeight = parseInt( backgroundSize[1], 10 ); | ||||
| 			} | ||||
|  | ||||
| 			var slideWidth = dom.background.offsetWidth; | ||||
| 			var horizontalSlideCount = horizontalSlides.length; | ||||
| 			var horizontalOffset = -( backgroundWidth - slideWidth ) / ( horizontalSlideCount-1 ) * indexh; | ||||
| 			var slideWidth = dom.background.offsetWidth, | ||||
| 				horizontalSlideCount = horizontalSlides.length, | ||||
| 				horizontalOffsetMultiplier, | ||||
| 				horizontalOffset; | ||||
|  | ||||
| 			var slideHeight = dom.background.offsetHeight; | ||||
| 			var verticalSlideCount = verticalSlides.length; | ||||
| 			var verticalOffset = verticalSlideCount > 1 ? -( backgroundHeight - slideHeight ) / ( verticalSlideCount-1 ) * indexv : 0; | ||||
| 			if( typeof config.parallaxBackgroundHorizontal === 'number' ) { | ||||
| 				horizontalOffsetMultiplier = config.parallaxBackgroundHorizontal; | ||||
| 			} | ||||
| 			else { | ||||
| 				horizontalOffsetMultiplier = ( backgroundWidth - slideWidth ) / ( horizontalSlideCount-1 ); | ||||
| 			} | ||||
|  | ||||
| 			dom.background.style.backgroundPosition = horizontalOffset + 'px ' + verticalOffset + 'px'; | ||||
| 			horizontalOffset = horizontalOffsetMultiplier * indexh * -1; | ||||
|  | ||||
| 			var slideHeight = dom.background.offsetHeight, | ||||
| 				verticalSlideCount = verticalSlides.length, | ||||
| 				verticalOffsetMultiplier, | ||||
| 				verticalOffset; | ||||
|  | ||||
| 			if( typeof config.parallaxBackgroundVertical === 'number' ) { | ||||
| 				verticalOffsetMultiplier = config.parallaxBackgroundVertical; | ||||
| 			} | ||||
| 			else { | ||||
| 				verticalOffsetMultiplier = ( backgroundHeight - slideHeight ) / ( verticalSlideCount-1 ); | ||||
| 			} | ||||
|  | ||||
| 			verticalOffset = verticalSlideCount > 0 ?  verticalOffsetMultiplier * indexv * 1 : 0; | ||||
|  | ||||
| 			dom.background.style.backgroundPosition = horizontalOffset + 'px ' + -verticalOffset + 'px'; | ||||
|  | ||||
| 		} | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user