From b66efa4ba321d8eab0e05297922e5d26230e5b1c Mon Sep 17 00:00:00 2001 From: smWtf Date: Thu, 12 Nov 2015 21:28:03 +0200 Subject: [PATCH 1/2] Recalculate styles of pin spacer when leaving the scene --- dev/src/ScrollMagic/Scene/feature-pinning.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/dev/src/ScrollMagic/Scene/feature-pinning.js b/dev/src/ScrollMagic/Scene/feature-pinning.js index 550b1691..30c05100 100644 --- a/dev/src/ScrollMagic/Scene/feature-pinning.js +++ b/dev/src/ScrollMagic/Scene/feature-pinning.js @@ -68,11 +68,16 @@ var updatePinState = function (forceUnpin) { if (!_pinOptions.pushFollowers) { newCSS[containerInfo.vertical ? "top" : "left"] = _options.duration * _progress; } else if (_options.duration > 0) { // only concerns scenes with duration - if (_state === SCENE_STATE_AFTER && parseFloat(_util.css(_pinOptions.spacer, "padding-top")) === 0) { - change = true; // if in after state but havent updated spacer yet (jumped past pin) - } else if (_state === SCENE_STATE_BEFORE && parseFloat(_util.css(_pinOptions.spacer, "padding-bottom")) === 0) { // before - change = true; // jumped past fixed state upward direction - } + var + stateAfter = _state === SCENE_STATE_AFTER, + stateBefore = _state === SCENE_STATE_BEFORE, + paddingTop = parseFloat(_util.css(_pinOptions.spacer, "padding-top")), + paddingBottom = parseFloat(_util.css(_pinOptions.spacer, "padding-bottom")); + + // if jumped past start/end of the scene + + change = (stateAfter && paddingTop === 0 || paddingBottom !== 0) + || (stateBefore && paddingBottom === 0 || paddingTop !== 0); } // set new values _util.css(pinTarget, newCSS); From 7c756cbb30a4d9754dc1dcee972172e10a6bbfe2 Mon Sep 17 00:00:00 2001 From: smWtf Date: Thu, 12 Nov 2015 21:45:42 +0200 Subject: [PATCH 2/2] jslint --- dev/src/ScrollMagic/Scene/feature-pinning.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dev/src/ScrollMagic/Scene/feature-pinning.js b/dev/src/ScrollMagic/Scene/feature-pinning.js index 30c05100..61fa01b7 100644 --- a/dev/src/ScrollMagic/Scene/feature-pinning.js +++ b/dev/src/ScrollMagic/Scene/feature-pinning.js @@ -76,8 +76,8 @@ var updatePinState = function (forceUnpin) { // if jumped past start/end of the scene - change = (stateAfter && paddingTop === 0 || paddingBottom !== 0) - || (stateBefore && paddingBottom === 0 || paddingTop !== 0); + change = (stateAfter && paddingTop === 0 || paddingBottom !== 0) || + (stateBefore && paddingBottom === 0 || paddingTop !== 0); } // set new values _util.css(pinTarget, newCSS);