Shift8 ScrollShot
·
Scrolling tall-screenshot viewport effect. Makes a tall image appear to scroll inside a fixed-height container.
Shift8 ScrollShot creates a scrolling screenshot viewport effect. Drop a tall image inside a container, add two CSS classes, and the plugin handles the rest. Works with any theme, page builder, or hand-coded HTML.
Features:
- Auto-scroll mode: the image scrolls up and down automatically on a loop
- Scroll-linked mode: image position follows the page scroll
- Configurable pause at top and bottom of the scroll cycle
- Optional browser-style frame with traffic-light dots
- Per-instance configuration via data attributes
- Multiple independent instances on one page
- Respects
prefers-reduced-motion - Vanilla JS with no jQuery or external libraries
- Lightweight assets (under 5 KB combined)
Usage
- Add a container element (a div, section, or page builder container). Give it the CSS class
s8-scrollshot. - Inside that container, add an image element. Give it the CSS class
s8-scrollshot__image. - (Optional) Add data attributes to the container or image to configure the behavior.
Data attributes can be placed on either the wrapper or the image. If the same attribute appears on both, the wrapper value takes priority.
Page Builder Setup
In Bricks Builder, Elementor, or other visual builders:
- Add a container or section element and apply the CSS class
s8-scrollshot. - Add an image element inside it and apply the CSS class
s8-scrollshot__image. - Use the builder’s custom attributes panel to add any
data-*attributes.
Plain HTML Example
<div class="s8-scrollshot" data-mode="auto" data-duration="15000">
<img class="s8-scrollshot__image" src="screenshot.png" alt="Screenshot">
</div><h3>Data Attributes</h3>
All configuration is done through HTML data attributes on the .s8-scrollshot container or the .s8-scrollshot__image element. Wrapper values take priority over image values.
data-mode–autoorscroll(default:auto)data-duration– Total cycle time in milliseconds (default:12000)data-end-pause– Hold time at top and bottom in milliseconds (default:1500)data-pause-on-hover–trueorfalse(default:true)data-reverse–trueorfalse, controls bounce direction (default:true)data-frame–noneorbrowser(default:none)data-viewport-height– Visible area height in pixels (default:700)data-viewport-width– Viewport width in pixels,0for auto (default:0)data-easing– Any CSS easing string (default:ease-in-out)