Loading
Divi Motion Logo
  • Home
  • Features
    • Horizontal Scrolling Text
    • Animated Process Flow
    • Particle Text
    • Header Scroll
    • Elastic Cards
    • Gravity Box
    • Scroll Video
    • DrawSVG
    • Card Stack
    • Card Deck
    • Horizontal Scroll
    • Preloader
  • Examples
    • Scroll Animations
      • Horizontal Scrolling Text Animation
      • Scroll Video Animation
      • DrawSVG Animation
      • Horizontal Scroll Animation
      • Vertical Scroll Animation
      • Pinned Elements Animation
      • Scroll Stack Animaiton
      • Split Text Animation
      • Stagger Animation
      • Card Stack Animation
      • Card Deck Animation
    • Click Animations
    • Hover Animations
    • Page Load Animations
      • On Load Animation Example
      • Page Load Animation Example
    • Gravity Box Animation
    • Elastic Cards Animation
    • Animated Process Flow Animation
    • Particle Text Effect Animation
  • Pricing
  • Resources
    • Documentation
    • Video Tutorial
    • Changelog
    • Roadmap
    • Community
    • Contact & Support
Login

Getting Started

6
  • Introduction to DiviMotion
  • Installing & Activating DiviMotion
  • Dashboard Overview
  • Interface Overview
  • Create Your First Animation
  • DiviMotion Glossary

Interactions

5
  • Overview
  • Scroll Trigger Interaction
  • Click Trigger Interaction
  • Hover Trigger Interaction
  • Page Load Trigger Interaction

Actions

4
  • Overview
  • Custom Action Overview
  • Action Presets Overview
  • CSS Properties Overview

Extensions

6
  • Scroll Header
  • Card Deck
  • Card Stack
  • Horizontal Scroll
  • Animation Timeline
  • Preloader

Modules

7
  • Horizontal Scrolling Text Overview
  • Animated Process Flow Overview
  • Particle Text Overview
  • Scroll Video Overview
  • Gravity Box Overview
  • Elastic Cards Overview
  • DrawSVG Overview
View Categories
  • Home
  • Docs
  • Actions

Custom Action Overview

Custom Action gives you complete control to build animations from scratch. You choose which element animates, define the starting and ending states, fine-tune timing and easing, and layer multiple properties to create exactly the effect you have in mind.

This guide covers everything you need to know about Custom Actions, from basic setup to advanced techniques like stagger, repeat, and Split Text.

How to Add a Custom Action

After adding an interaction to an element, follow these steps:

  • In the interaction card, click the + Add Action button.
  • Select custom action type from the dropdown

You’re now ready to configure your target, timing, easing, and animation properties.

Custom Action Settings

Custom Action settings are grouped into logical sections so you can precisely control what animates, how it moves, and when it plays.

Action Target

These settings define which element gets animated when the interaction fires. By default, the action inherits the target from the interaction — but you can override it here to animate any element on the page.

Target Type

Choose which element the action should animate:

Inherit from Interaction (Default): Uses the same element selected for the interaction. The safest starting point for most animations.

Element: Animates the element you are currently editing — a section, row, or column.

Element by ID: Targets a specific element anywhere on the page, selected from a dropdown. Useful when the animated element is different from the one you’re editing.

Pro tip: Rename elements using the Admin Label feature to make them easier to find in the dropdown.

Custom Selector: Targets any element using a CSS class or ID selector. This lets you animate elements outside the current context or animate multiple elements sharing the same class.

Scope

Scope determines which related elements receive the animation. This is especially important when using Custom Selector or targeting groups of elements.

Scope OptionWhat It TargetsExample Use Case
Inherit from Interaction (This Element)Same element used in the interactionDefault for most animations
All Matching ElementsEvery element matching the CSS selectorAnimate all .card elements on the page
This ElementOnly the currently selected elementAnimate a single section
ChildrenDirect children of the selected elementAnimate columns inside a row
DescendantsAny nested element (with HTML tag selector)Animate all <img> tags inside a section
SiblingsElements with the same parentAnimate other columns in the same row
ParentThe container holding the selected elementAnimate a card wrapper when a child is targeted
Next SiblingThe element immediately afterReveal the next item in a list
Previous SiblingThe element immediately beforeSlide in the previous testimonial

Target Multiple Elements

DiviMotion lets you animate multiple elements from a single Custom Action.

Example: A single scroll trigger fades in a heading AND slides up a paragraph — both configured inside one action.

To add an additional target, click the + icon below the current target settings. A new target card will appear where you can configure its own Target Type and Scope independently.

Action Name

Assign a descriptive name to your action for easy identification. This is especially helpful when working with multiple actions inside the same interaction.

Example: “Hero Fade In” or “Card Slide Up” makes it easy to locate and edit specific actions later.

Duration (s)

How long the animation takes to complete, measured in seconds (s) or milliseconds (ms). If you use a smaller value, the animation will feel faster. If you use a larger value, it will feel smoother and slower.

Example: 1s = animation plays over one full second.

Start Time (s)

How long DiviMotion waits before starting the animation after the trigger fires, measured in seconds (s) or milliseconds (ms). Set it to 0 to start immediately, or use a positive value to introduce a delay.

Example: 0.3s = animation waits 300 milliseconds before playing.
Pro tip: Use incremental Start Time values across multiple actions to create staggered entrance sequences.

Easing

Easing controls the acceleration curve of your animation — how it speeds up and slows down over time. Choosing the right easing gives your animations a natural, professional feel.

EasingWhat It Feels Like
Linear (None)Moves at a constant speed from start to end
Power1 / Quad — InStarts slow, then speeds up
Power1 / Quad — OutStarts fast, then slows down
Power1 / Quad — InOutSlow at both start and end
Power2 / Cubic — InSlightly stronger slow start
Power2 / Cubic — OutSmooth, natural slowdown
Power2 / Cubic — InOutSmooth start and finish
Power3 / Quart — InVery slow start
Power3 / Quart — OutStrong, smooth finish
Power3 / Quart — InOutSlow start and strong finish
Power4 / Quint — InDramatically slow start
Power4 / Quint — OutVery smooth, soft end
Power4 / Quint — InOutDramatic but smooth throughout
Sine — InGentle slow start
Sine — OutGentle slow end
Sine — InOutVery soft, natural motion
Expo — InStarts almost still, then surges
Expo — OutFast entry, then drifts to a stop
Expo — InOutStrong acceleration and deceleration
Circ — InFeels heavy at the start
Circ — OutFeels heavy at the end
Circ — InOutHeavy motion on both sides
Back — InPulls back slightly before moving forward
Back — OutOvershoots then settles into place
Back — InOutPulls back and overshoots both ends
Elastic — InElastic snap at the start
Elastic — OutElastic bounce at the end
Elastic — InOutElastic bounce on both ends
Bounce — InBounces before starting
Bounce — OutBounces at the end (like a dropped ball)
Bounce — InOutBounces at both ends
RoughShaky, uneven motion
Steps (5)Moves in 5 visible stepped jumps
SlowMoVery slow, cinematic motion
Pro tip: Ease Out options (Cubic Out, Expo Out) work best for entrance animations. Ease In options suit exit animations. Ease InOut is ideal for elements that move between two states.

Stagger Animation

Stagger animates multiple child elements sequentially rather than all at once, creating a smooth cascading effect across a group.

Example: A row of cards fades in one after another instead of all appearing simultaneously.

Enable Stagger Animation to reveal the following settings:

Stagger Type

Controls how the timing between staggered elements is calculated. Choosing a type reveals its corresponding time setting:

Total Time (s): Distributes the stagger evenly across all elements within a fixed total duration. For example, if Total Time is 2s and there are 4 elements, each one starts 500ms after the previous.

Offset Time (s): Sets a fixed delay between the start of each element’s animation. For example, an Offset Time of 0.15s means each element begins 150ms after the one before it.

Stagger From

Determines which element in the group animates first.

OptionWhich Element Starts First
StartThe first element in the group (default)
CenterThe middle element, then outward
EndThe last element, then backward
EdgesBoth ends simultaneously, moving inward
RandomA random element each time the animation runs

Stagger Easing

Controls the pacing of the stagger sequence itself — not the motion of individual elements, but how the timing is distributed across the group. Use it to make the cascade feel faster at the start and slower at the end, or vice versa.

Note: Stagger Easing is separate from the action’s main Easing setting. Main Easing affects each element’s individual motion curve. Stagger Easing affects the spacing between each element’s start time.

Repeat Animation

Repeat Animation controls whether the animation plays again after completing and for how many cycles. Enable it to reveal the following options:

Loop Forever

Keeps the animation running continuously without stopping. Useful for loading indicators, looping icons, or decorative motion effects.

Repeat Count

Only available when Loop Forever is disabled. Sets the exact number of times the animation should repeat after its first play. A value of 1 means it plays twice in total.

Repeat Delay (s)

Adds a pause between each repeat cycle. Leave it empty to repeat immediately, or enter a value (e.g., 1.5) to add a 1.5-second pause before each subsequent play.

Reverse on Alternate Repeats

Makes the animation play forward on odd cycles and backward on even cycles — creating a smooth back-and-forth motion instead of snapping back to the start each time.

Example: An element that pulses in and out instead of fading in, jumping back, and fading in again.
Pro tip: Combine Loop Forever with Reverse on Alternate Repeats and a short Repeat Delay to create smooth, continuous breathing or pulsing effects without jarring resets.

Animation Properties

Animation Properties define what visually changes during the animation. Click Animation Properties to open the property picker and select one or more properties to animate.

Properties are grouped into three categories:

CategoryProperties Included
TransformMove X, Move Y, Move Z, Scale, Scale X, Scale Y, Rotate, Rotate X, Rotate Y, Skew X, Skew Y, Transform Origin
FiltersOpacity, Blur, Brightness, Contrast, Grayscale, Hue Rotate, Invert, Saturate, Sepia
GeneralWidth, Height, and other CSS-animatable values

Each selected property appears in the action card with FROM and TO fields where you define its starting and ending values.

FROM and TO Values

Actions animate an element from a starting value to an ending value. You can set both, or set only the TO value and let DiviMotion calculate the FROM state automatically based on the element’s current style.

ApproachHow It Works
FROM + TOYou define both the start and end state. Gives you complete control over the full animation range.
TO onlyDiviMotion uses the element’s current style as the start point and animates to the TO value. Cleaner for most entrance animations.
Example: Set Opacity TO: 1 and DiviMotion will automatically start from the element’s current opacity — typically 0 — and fade it in.

Split Text

Split Text lets you animate text element by element instead of animating the entire block at once. You can break text apart and animate by:

•   Characters

•   Words

•   Lines 

This makes it ideal for headline reveals, typewriter effects, and staggered text entrances that feel polished and intentional.

Apply Mask to Split Text

Hides any overflow while the text is animating. This keeps the animation clean and prevents individual characters, words, or lines from appearing outside their container during the effect.

Note: Split Text requires the SplitText integration to be enabled in your DiviMotion Dashboard under Integrations.

What's Next?

Now that you understand Custom Actions, you’re ready to build precise, layered animations directly inside the Divi Visual Builder.

Open the Visual Builder, add a Custom Action to a section or module, and start combining properties, easing, and stagger to craft exactly the motion you have in mind.

Updated on May 20, 2026

What are your Feelings

  • Happy
  • Normal
  • Sad

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
OverviewAction Presets Overview

Submit a Comment Cancel reply

Your email address will not be published. Required fields are marked *

DiviMerc Logo

Make Divi Websites Move

  • Follow
  • Follow
  • Follow
  • Follow
  • Follow

Divi is a registered trademark of Elegant Themes, Inc. This website is not affiliated with nor endorsed by Elegant Themes.

Company

  • About

  • WordPress SEO Service

  • Contact

  • Community

Products

  • DiviFlash

  • DiviMerc

  • DiviGear

  • RioVizual

  • RioForms

Resources

  • Documentation

  • Video Tutorial

  • Changelog

  • Roadmap

Legal

  • Terms of Service

  • Privacy Policy

  • Refund Policy

DiviMerc Footer Logo

2

© 2026 DiviMotion. A WPRio creation, in SEO partnership with VizibleSEO. All rights reserved.