输入Javascript倒计时器分钟和秒?

时间:2015-06-03 16:20:23

标签: javascript jquery

我正在使用Javascript / jQuery开发一个简单的倒数计时器。

基本上,我可以在输入字段中输入分钟数,然后将其转换为分钟和秒,并开始倒计时。

所以,如果我输入 30 ,它将以这种格式从 29 开始倒计时:29:59

我需要做的是能够在输入字段中输入分钟和秒数,它应该正确倒计时但我不知道如何做到这一点。

例如,我想输入26:15,倒计时应从那时开始。

这是我的全部代码:

HTML:

<h1>Enter minutes you want to work </h1><p>0:00</p>
<input id="request" type="text" value="<?php echo $end_time; ?>">

<input id="time" type="text" value="">
<a href="#" class="click">Click here</a>

jQuery的:

<script>
$('.click').click(function () {
    var rawAmount = $('#request').val();
    var cleanAmount = parseInt(rawAmount);
    var totalAmount = cleanAmount * 60;
     $('#request').val(" ");

    var loop, theFunction = function () {

        totalAmount--;

        if (totalAmount == 0) {

            clearInterval(loop);
        }
        var minutes = parseInt(totalAmount/60);
        var seconds = parseInt(totalAmount%60);

        if(seconds < 10)
            seconds = "0"+seconds;
        $('p').text(minutes + ":" + seconds);
        $('#time').val(minutes + ":" + seconds);
    };

    var loop  = setInterval(theFunction, 1000);

})
</script>

有人可以就此问题提出建议吗?

编辑: http://jsfiddle.net/71nab0b4/1/

2 个答案:

答案 0 :(得分:0)

您希望将输入字符串分为几分钟和几秒,然后将totalAmount设置为该值,如下所示:

var rawValue = $('#request').val();
var split = rawValue.split(':');

var minutes = split[0];
var seconds = split[1];

var totalAmount = parseInt(minutes, 10) * 60;

if (seconds) {
    totalAmount += parseInt(seconds, 10);
}

但是,您可能希望进行一些验证。

答案 1 :(得分:0)

使用拆分

rawAmount.split(':');

https://jsfiddle.net/533tkxtu/