Custom Scroll Animation Behavior (scroll trigger)
Most of modern apps have some custom behaviour - for example
In user profile, you see big profile picture, but when you scroll down to see user posts - picture gets smaller and moves to the corner.
Would be cool to be able to treat scroll position as kind of keyframes timeline, where you can modify styles of some elements and tween them depending on how much some view is scrolled.
Some tools have kind of similar option - https://www.youtube.com/watch?v=jRHuAq4PqQo - check first 30 secs.
Bilal Alsurri commented
A scroll trigger with the Auto-Animate feature.
The morph between the linked artboards starts when the changed elements are in a certain percentage of the viewport and the speed of this morph is determined by the speed of scrolling.
For Fixed Items, maybe the change happens based on a percentage for the hight and position of the artboard.
Andrey Duarte commented
Headers when on top of page are a type, when you begins scroll, it transform in one fixed on top of screen.
FAB buttons when is on end of screen, its can disappear.
What if when some elements need to move to a certain point while scrolling the design. What if we can have in page animation rather than timed animation.
In page, the animation would be great like, while we are on a page and we have used animation to happen repeatedly. Such as waves on water, we can use in page animation to make a wave without moving to another artboard.
And some more animation handling would be better like a controlled speed of Easy In or Easy out animation.
Henrik Falck Mentzoni commented
Would be good to be able to set, let's say, headers to have a fixed position inside of masks, so when you've scrolled past the mask you've got a header that's perhaps in a different color or something.
PS: Sorry if it's incomprehensible, english isn't my strongest language.
xd is a very good UX tool. just needs this feature to make that much more powerful. when showing a stakeholder how their new product is going to look via a prototype, they can see exactly what you are translating and i feel this a very important feature to have so that you can covey to them what it is that you are proposing.
Henry Riojas commented
I do loading an overlay, and the overlay make the scroll, but like is a overlay all buttons of UI is "disable", but you can enable with double click and the overlay is off.
Larissa Camargo commented
It would be great if I could keep an object fixed when scrolling just from one certain position to another instead of all the artboard.
In the anexed example I have this light grey contoured box and I want it to scroll with the artboard till the last Title on my page, then I need it to stop moving.
Need this bad.
Vincent AG commented
This is highly needed.
I am currently designing a prototype of a mobile app. The home screen of this app has a set of buttons which lead to respective information screens. The header and footer-nav are to stay put when viewing these other screens. These screens also have a dropdown to be able to navigate between each other after leaving the home screen. This dropdown is only present on these screens.
I am attempting to use auto-animate to move the buttons off the screen and bring the info content on the screen. However, there is enough info to warrant scrolling. The only way to keep the "off screen" content associated with the artboard is to have it grouped with the content that it is replacing.
The problem is that I don't want the drop-down menu to scroll with the content, but it has to be grouped with the content in order for auto-animate to work properly.
As I see it there are two solutions here.
1) Allow a fixed object to stay fixed even when grouped with objects that will move when scrolling.
2) Find a way to associate content outside of an artboard with said artboard to allow auto-animate to work on the content without the need for grouping.
2a) Possibly a dotted resizable perimeter surrounding the artboard. Anything falling within it is associated with it when using auto-animate.
Similar to jQuery waypoints or something similar to allow for layer properties/styles to be changed when the user scrolls to a 'waypoint'.
- Add new waypoint
- Attach layers to waypoint
- Set Different Properties in 'Waypoint Group'
- When user scrolls to that waypoint, the styles are updated
Would be nice to have transition controls as well.
Biswajit Nath commented
Like bootstrap having a feature called affix (Fixing particular part of page after scrolling a particular amount of main page).
This is pretty rare feature among prototyping tools and it would be extremely useful to have in XD since this is common web & mobile effect. Basically it would be a new trigger type based on scroll position, where depending on user specified value (in pixels), certain actions would happen.
Scroll trigger with fresh introduced Auto-Animate action would open wide array of possibilities like shrinking navbars, moving/resizing icons and cards, changing colors, showing/hiding objects, all while scrolling.
This is simple example of navbar appearing while scrolling down and dissapearing when top is reached again:
Irfan Adam M commented
it would be great to see animation triggered and correspond to scroll position,
I would like to be able to fade-in content at certain scroll positions, this is a common animation seen on websites.
Hui Flinto is good … Hie XD will become the same … some day …
Provide a way to scroll content inside a page or box and not just artboard scroll. Example scroll contents in popups, scroll in terms and conditions contents (which are very big).
Using sketch+flinto could become unnecessary
add conditional case for EX if i would to make navbar hidden but when i scroll above 300px (>) i want the navbar to be show and be fixed else this value (meaning if scroll never go above 300px it's a less than 300px) don't show navbar keep it hidden.... (look attachment)
that was a EX for explain but there's a lot of cases may you need to use Conditional cases maybe i want to show or hidden thing when the element enter the viewport or change still for element depending on scrolling to specific value or depending on show or hidden another element (when i click on "this" hidden "this" and change color "this")