Magic Scroll links a widget’s position, scale, rotation or opacity to how far the page has scrolled, so the widget transitions smoothly as it enters the viewport.
It sits on a widget’s Advance tab once the extension is switched on.
Requirement – This extension is a part of The Plus Addons for Elementor Pro, make sure it’s installed & activated to enjoy all its powers.
Before You Start
- Edition: Pro — confirmed on The Plus Addons > Extensions screen (Plus Extras group, PRO badge).
- Extension to enable: Magic Scroll, switched on under The Plus Addons > Extensions (Plus Extras group) — not under Widgets.
Steps
- Enable Magic Scroll at The Plus Addons > Extensions (Plus Extras group), then save.
- Select the widget in the Elementor editor and open its Advance tab.
- Turn on Magic Scroll and open the From and To popovers to set the starting and ending X/Y offset, opacity, scale and rotation.
- Leave a sub-option’s popover closed to keep its default (X 0, Y 0 opacity 1, scale 1, rotate 0 for From; X 0, Y -50, opacity 1, scale 1, rotate 0 for To) – out of the box this is only a small upward shift, not a fade or scale change.
- Publish the page and scroll it – the widget’s position (and any other property you set) transitions between the From and To values as it crosses the viewport.

How It Behaves
Confirmed on a rendered fixture: with every From/To sub-option left at its default, scrolling the page moved the widget’s computed CSS transform from the identity matrix to matrix(1,0,0,1,0,22.98) partway through the scroll scene – a real, observed, scroll-linked vertical shift, exactly the direction and rough magnitude the -50px default To value predicts.
Limitations
- Out of the box this is a plain vertical move only – a reader expecting a fade or scale change by default will not see one unless they open the From/To popovers and set those values themselves.
Troubleshooting
Nothing changes as I scroll
Confirm the extension is switched on at The Plus Addons > Extensions (Plus Extras group), and that Magic Scroll itself is turned on inside the widget’s Advance tab.






