- error in Safari when using setPin PR 382
- added missing semi-colon to isMobile regex PR 617
- fixed SVG element detection as Dom Element and related Error on Safari PR 447
- fixed code selection in examples
- pass Scene as
this
to duration callback PR 419 - increase fps limit for mobile support(advance) example. PR 753
- added documentation for responsive duration (e.g. "100%")
- updated Section Wipes (natural) to work for large number of sections.
- removed warning for pushFollowers in pins with duration 0, unless actively set to true
- fixed some spelling stuff
- basic: Reveal on Scroll
- updated: build routine for gulp 4
- updated: all Dependencies
- changed: folder structure for a tidier root
- fixed: unit test errors
- added: Buttons for ScrollMagic Premium Support.
- errors occurred, when removing a triggerElement see here
- semantic error in removePin()
- a JS error occurred in IE9 see here
- cascading pins of absolutely positioned elements didn't work see here
- scene state wasn't correct at start position see here
- updatePinState was called before scrollOffset update see here
- moved to new jQuery plugin definition via npm see here
- updated and improved several examples
- optimized minification
- changed command line options for build (version bumping)
- height calculation for pinned elements when using
pushFollowers: false
was faulty - parallax jitter fix for chrome
- when using responsive duration and
pushFollowers = true
, an invalid console warning message was triggered - the sourcecode viewer in the examples code was showing modified code
- fixed a problem when using the mousewheel to scroll over fixed elements after replacing the default scroll method of the controller
- using pinned elements as
Controller.scrollTo()
targets didn't work properly - mousewheel over pinned elements inside of div scroll containers didn't work in IE
- it's now possible to supply additional parameters to custom scrollTo functions see here
- basic: Section Wipes (natural)
- advanced: Section Wipes (manual)
- advanced: Section Slides (manual)
- Size calculations for pinned elements were off in certain conditions see here
- scrollDirection detection broke in 2.0.1 see here
- better npm/browserify support see here
- missing browser global when using jQuery plugin see here
- resolving jitters due to out-of-sync scroll positions see here
- removal of all dependencies (jQuery & GSAP) – ScrollMagic is now stand-alone.
- new file structure:
- main module: 'ScrollMagic.js'
- all available plugins in folder '/plugins'
- new scene event: add fires when scene is added to a controller
- new scene event: remove fires when scene is removed from a controller
- option changes in
Scene.addIndicators()
:- indicators are now always on top (option
zindex
removed) - option
suffix
is renamed toname
- indicators are now always on top (option
- several performance tweaks
- lots more info and warning messages (in the uncompressed development version)
- ScrollMagic Controllers are now instantiated using
var controller = new ScrollMagic.Controller();
- ScrollMagic Scenes are now instantiated using
var scene = new ScrollMagic.Scene();
- renamed method
Scene.parent()
toScene.controller()
- removed scene method
triggerOffset()
Method was marked deprecated since v1.1.0 and has now been replaced bytriggerPosition()
. - removed
Scene.setPin()
optionpinClass
Was used to add a class to the pinned element. The same can now be achieved usingsetClassToggle()
.
- new plugin 'debug.addIndicators' (formerly 'jquery.scrollmagic.debug')
- indicators can now be added to the scene before it was added to a controller
- indicators also work when scenes are removed and readded
- indicator labels are autoindexed, when no explicit label is supplied
- new controller option 'addIndicators', when a controller is initialized using
new ScrollMagic.Controller({addIndicators: true})
all added scenes will automatically have indicators added to them - start indicator is now above the line for less overlays (i.e. one scene starts, where another ends)
- huge performance optimization, especially when using indicators for multiple scenes
- new method
removeIndicators()
- new plugin 'animation.gsap'
- Contains all GSAP tween functionality formerly integrated into ScrollMagic (
setTween()
andremoveTween()
) - new feature for shorthand TweenMax.to() animation using
setTween(target, duration, parameters)
orsetTween(target, parameters)
- Contains all GSAP tween functionality formerly integrated into ScrollMagic (
- new plugin 'animation.velocity'
The velocity animation framework can now be used to trigger animations usingScene.setVelocity(target, properties, options)
Note that for the time being velocity only works with 0 duration scenes, because timeline scrubbing isnt supported by velocity (yet). - new plugin 'jquery.ScrollMagic'
- adds support for jQuery selectors and makes all methods accept jQuery objects as element parameters.
- moves ScrollMagic global to
$.ScrollMagic
. To instantiate a controller respectively callnew $.ScrollMagic.Controller()
.
- new option for responsive duration
The Scene duration can now be a percentage string like
"100%"
.
It will be calculated in relation to the size of the scroll container. It use the container's height for vertically scrolling applications and its width for horizontally scrolling containers.
- vertical Pins in DIV scroll containers did not work, when using a mousewheel while the cursor was over the pinned element
- using
removeTween(true)
to remove and reset a Tween didn't work when the scene's duration was 0 - when removing pins from cascaded pins using
removePin(true)
messed up the DOM structure (long term bug) - when pinning absolutely positioned elements using
bottom
orright
, the positioning was off (See issue 226)
- changed build system to gulp see here
- moved all Module dist files to '/scrollmagic' see here
- published scrollmagic on npm as
scrollmagic
- renamed package on bower from
ScrollMagic
toscrollmagic
to adhere to naming conventions
- changed AMD loader behavior to export only one object ->
{Controller: ScrollMagic, Scene: ScrollScene}
- added Error message for missing dependencies
- fixed bubbling of pseudo-resize event of div containers
- reference bug with AMD loading
- better code for mobile clicks (See issue 169)
- updated draw example to camel case to support Firefox
- updated parralax sections example to moving divs instead of background position
- added new references
- added favicon
- scroll momentum increased in Firefox over fixed elements (See issue 164)
- parallax example was juggy in Firefox and Safari -> removed reliance of TweenMax ticker in favor of requestAnimationFrame (See issue 167)
- bugfix for pinned elements jittering if inside a container, because of the delayed position update in refreshInterval
- zero duration scene events & states
The event logic for zero duration scenes has been changed: From now on a zero duration scene will triggerenter
,start
,progress
(in this order) when scrolling forward past the trigger point andprogress
,start
,leave
when scrolling in reverse.
This means there will never be anend
event triggered, which reflects the behaviour more accurately.
Furthemore this affects the scene's possible states, which can now only be"BEFORE"
and"DURING"
for zero duration scenes.
To learn more, read this issue or this documentation. - removed method
startPosition()
Method was marked deprecated since v1.0.7 and has now been replaced bytriggerPosition()
.
The terms "offset" and "position" were used too randomly.
To avoid confision, from now on "offset" will be used in connection with the scroll offset of the container, while "position" refers to the top / left values within the DOM. change
event only fires when change actually happened
If a setter is used with the current value or the internal validator fails and defaults to the same value an option is already set to, nochange
event will be fired anymore.
- scenes are sorted in controller
Scenes attached to the same controller are now updated in the order of their start position.
This way DOM modifcations (e.g. tweens) that influence each other are sure to be called in the right order.
To learn more, read this issue. - marked
triggerOffset
as deprecated, replaced bytriggerPosition
Renaming to avoid confusion. Read above for clarification. - new controller option
refreshInterval
To update values that otherwise wouldn't fire an event arefreshInterval
option was added to poll for changes.
These changes involve resizing of a div scroll container or movement of a scene's trigger element position. - no more logging in minified version
All debug logging functionality was removed when using the minified version to save on filesize.
- new controller method: scrollTo
- new controller method: scrollPos
- new scene method: refresh
- new scene method: setClassToggle, removeClassToggle respectively
- new scene event: shift fires when scene position changes
- new scene event: destroy fires when scene is destroyed
- extended scene option duration to support dynamic updates in responsive layouts
- docs: grouped methods for more clear arrangement
- docs: various additions and clarifications
- removing and resetting pins during pin phase didn't work properly
- using mousewheel to scroll over pinned elements in container (See issues 34, 50, 82, 139, 140)
- pin width collapsed, if no width was defined (See issues 63, 94)
- positioned pins didn't work in IE 9
- padding of pinned elements was added to relative width
- event namespace issues
- docs: fixed highlight & deeplink issues
- basic: CSS Class Toggles
- advanced: SVG Line Drawing
- advanced: Parallax Sections
- expert: Image Sequences
- expert: Bezier Path Animations