Blog Details

2150201871

How to Create a Countdown Timer in Elementor (Step-by-Step for Beginners)

If you’re building a landing page, offer page, or flash sale page, you’ve probably seen countdown timers everywhere — and yes, they work. A timer creates urgency and encourages users to take action before the time runs out.

In this guide, I’ll walk you through exactly how to create a custom countdown timer in Elementor — even if you’re not a hardcore developer.
This method works with Elementor Free, and at the end, I’ll show a simpler method for Elementor Pro users.

What You Need Before Starting

A WordPress website
Elementor installed
A little patience 😅
No plugins required.

Step 1: Create the Timer Layout in Elementor

Open the page you want to add the timer to and switch to Elementor Editor.

Now we’ll give each number container a unique ID so our script can update them.

Inside each box, paste this code:



<span id=”num1″ class=”num”></span>
<span id=”num2″ class=”num”></span>
<span id=”num3″ class=”num”></span>
<span id=”num4″ class=”num”></span>

———————————————————————–

You won’t see numbers yet — that’s normal.
We’ll bring it to life with CSS + JS.

But wait — you’ll need each span in a separate column.
So structure should look like:

ColumnContent
1<span id="num1" class="num"></span>
2<span id="num2" class="num"></span>
3<span id="num3" class="num"></span>
4<span id="num4" class="num"></span>

Step 2: Add Styling (CSS)

Now we make it look like a proper countdown.  Go to:
Elementor → Advanced → Custom CSS
Paste this CSS:
or add the code Appearance → Customize → Custom CSS

.num {
font-size: 40px;
font-weight: bold;
background: #000;
color: #fff;
padding: 20px 30px;
border-radius: 10px;
display: inline-block;
width: 60px;
text-align: center;
}

Step 3: Add the Countdown Script (JavaScript)

Scroll to the bottom of the page → click Settings (⚙️ icon)Custom Code → Add Code
—or—
Go to Elementor → Advanced → Custom JS (if available).

Paste:

<!–jQuery CDN link starts here–>
<script src=”https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.1/jquery.min.js”></script>
<!–jQuery CDN link ends here–>

<script>
jQuery(function() {

// Set the date we’re counting down to
var countDownDate = new Date(“Jul 31, 2022 00:00:00”).getTime();

var countdown1 = document.getElementById(“num1”);
var countdown2 = document.getElementById(“num2”);
var countdown3 = document.getElementById(“num3”);
var countdown4 = document.getElementById(“num4”);

// Update every second
var x = setInterval(function() {

var now = new Date().getTime();
var distance = countDownDate – now;

var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);

function pad(n){
return (n < 10 ? “0” : “”) + n;
}

countdown1.innerText = pad(days);
countdown2.innerText = pad(hours);
countdown3.innerText = pad(minutes);
countdown4.innerText = pad(seconds);

if (distance < 0) {
clearInterval(x);
countdown1.innerText = “O”;
countdown2.innerText = “V”;
countdown3.innerText = “E”;
countdown4.innerText = “R”;
}
}, 1000);
});
</script>

Optional: Elementor Pro Method (Easier)

If you have Elementor Pro, you can skip all coding.

That’s it — no coding needed.

Leave A Comment

Cart (0 items)