|
@@ -107,6 +107,10 @@ var Reveal = (function(){
|
|
|
// Parallax background size
|
|
|
parallaxBackgroundSize: '', // CSS syntax, e.g. "3000px 2000px"
|
|
|
|
|
|
+ // Amount to move parallax background (horizontal and vertical) on slide change
|
|
|
+ parallaxBackgroundHorizontal: '', // Number, e.g. 100
|
|
|
+ parallaxBackgroundVertical: '', // Number, e.g. 10
|
|
|
+
|
|
|
// Number of slides away from the current that are visible
|
|
|
viewDistance: 3,
|
|
|
|
|
@@ -2026,13 +2030,29 @@ var Reveal = (function(){
|
|
|
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;
|
|
|
+
|
|
|
+ if (typeof config.parallaxBackgroundHorizontal === 'number') {
|
|
|
+ horizontalOffsetMultiplier = config.parallaxBackgroundHorizontal;
|
|
|
+ } else {
|
|
|
+ horizontalOffsetMultiplier = ( backgroundWidth - slideWidth ) / ( horizontalSlideCount-1 );
|
|
|
+ }
|
|
|
+
|
|
|
+ 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 );
|
|
|
+ }
|
|
|
|
|
|
- var slideHeight = dom.background.offsetHeight;
|
|
|
- var verticalSlideCount = verticalSlides.length;
|
|
|
- var verticalOffset = verticalSlideCount > 0 ? -( backgroundHeight - slideHeight ) / ( verticalSlideCount-1 ) * indexv : 0;
|
|
|
+ verticalOffset = verticalSlideCount > 0 ? verticalOffsetMultiplier * indexv * -1 : 0;
|
|
|
|
|
|
dom.background.style.backgroundPosition = horizontalOffset + 'px ' + verticalOffset + 'px';
|
|
|
|