Pomodoro Timer via setTimeout()
Feedback

I know it has been nearly 3 years since this was posted and you likely have learned more about javascript and jQuery since then. Perhaps the information below is old news but nevertheless...

I like the styles and the sound that plays when the timer is done is fun! I did notice that if I decrease the Session Length to 0 and click the start button, it shows -01:59 and then appears to jump up to 05:58. Perhaps it would be wise to not allow the user to click the start button if the value for session length is 0. 

Recommendations

I only see a couple things I would change:


It is recommended that DOM elements be stored in a variable - e.g.  

var breakElement = $('#break');


And then later on use breakElement instead of $('#break') - e.g.

breakElement.html(setBreakMinutes);

The switch statement at the end seems a bit heavy - why not just use an if/else:


switch (runState) {
        case false:
            $('#status').html('reset');
            countDown();
            runState = true;
            break;
        case true:
            $('#status').html('start');
            stopCountDown();
            runState = false;
            break;
    }



While it is only few lines shorter, there is no need to remember the break statements: 

if (runState) {
    $('#status').html('start');
    stopCountDown();
    runState = false;
}
else {
    $('#status').html('reset');
    countDown();
    runState = true;
}