Flickering Grid for GoHighLevel
A field of small squares that flicker behind your section, drawn on canvas. Drop the widget anywhere inside the section and it covers the section. It walks up through however many rows and columns you have nested and lights the container itself. On the live page the widget has no footprint at all; in the builder it leaves a small click target so you can get back to its settings.
- Controls
- 21
- Variants shown
- 5
- Dependencies
- None
5 ways to run it
Every one of these is the real element with different settings. Press play again to watch any of them from the start.
21 controls, grouped the way you build
- Where it paints4
- The grid8
- How it sits5
- Performance3
- In the builder1
Everything it does
- Target a section, a row, a column, or any class you name
- sits behind the content, above the section’s own background, or over the content
- pull in from the edges
- square size
- space between squares
- square color
- brightest and dimmest opacity
- how much of the grid re-rolls each second
- time between frames
- a coarser grid on phones
- overall strength
- seven blend modes
- fade towards the edges, the top, the bottom or both
- rounded corners
- pauses when scrolled past
- pauses in background tabs
- retina or standard sharpness
- your own label on the builder handle
How it actually behaves
The first element that paints somewhere other than itself. It walks up with closest() to the .c-section (or .c-row, .c-column, or a class you type) around it and covers that container. The canvas ships inside the widget’s own markup and is positioned over the target. It is never inserted into the section, because GoHighLevel owns that subtree and re-renders it when a foreign node appears, which breaks every other animated element in the same section.
Invisible on a published page. The widget root has no height and renders nothing for visitors; only the background shows. Inside the builder it shows a small labelled pill so the element stays selectable.
Rendering a demo standalone: there is no .c-section in a demo grid, so it falls back to painting its own box (min-height 190px, dark surface). That is the intended preview and needs no extra markup. Wrap it in a `<div class="c-section">` if you want to demo the real targeting.
How to add Flickering Grid to a GoHighLevel page
- 01
Open the element panel
In the page builder, click the + button to add a new element.
- 02
Go to Widget Marketplace
In the left menu, select Widget Marketplace.
- 03
Find Animated Elements
Locate the Animated Elements widget by Funnelslayer in the installed apps list.
- 04
Drag and drop it into the page
Drop the widget where you want it. The Web Widget Settings modal opens on the element gallery: "Select an element to start with".
- 05
Select an element and continue
Choose an element (Animated Counter, Typing Animation, and more), then click Continue. You can switch elements later without losing your settings.
- 06
Customize it
Use the element's settings to customize everything to match your brand. The live preview updates as you go, with separate desktop and mobile views.
Common questions
- Does the animated background show up as an empty block on my page?
- No. On a published page the widget root has no height and renders nothing for visitors, so only the background itself is visible. Inside the builder it shows a small labelled pill so the element stays selectable.
- Will a canvas background hurt performance?
- It pauses when scrolled past and pauses in background tabs, and it can render a coarser grid on phones. You can also set the re-roll rate to zero for a completely static pattern that still fades and blends.
- Why does it cover the section instead of being placed inside it?
- GoHighLevel owns the section subtree and re-renders it when a foreign node appears, which would break every other animated element in the same section. The canvas therefore ships inside the widget’s own markup and is positioned over the target rather than inserted into it.