JSFiddle - React, Tailwind, and code Playground

HTML

<div id="timer"></div>

<button id="start">Start</button>
<br />
<button id="stop">Stop</button>

JavaScript

var Timer = {
    totalSeconds: 300,

    start: function () {
        var self = this;

        this.interval = setInterval(function () {
            self.totalSeconds -= 1;
            if (self.totalSeconds == 0) {
                Timer.pause();
            }
            $("#timer").text(parseInt(self.totalSeconds, 10));
        }, 1000);
    },
    pause: function () {
        clearInterval(this.interval);
        delete this.interval;
    },

    resume: function () {
        if (!this.interval) this.start();
    }
}

Timer.start();
$("#start").click(function(){
    Timer.resume();
});
$("#stop").click(function(){
    Timer.pause();
});