javascript - jquery 倒数计时器 NaN

标签 javascript jquery countdowntimer

嗨,我是 JS 和 jQuery 的新手,我对简单的倒计时器有疑问。

当我在输入中输入一些值时,它会在倒计时器中转换为 NaN(而不是数字)。

这是我的代码:

$(function() {
    var $input = $('#time'),
        seconds = parseInt($input.val()),
        $start = $('button');

    $start.on('click', function() {
        var interval = setInterval(function() {

            switch (seconds) {
                case 0:
                    clearInterval(interval);
                    console.log("Time's UP!");
                    break;
                case 1:
                    console.log("Do końca pozostała " + seconds + " sekunda"); /*polish gramaticall variation*/
                    break;
                case 4:
                case 3:
                case 2:
                    console.log("Do końca pozostało " + seconds + " sekundy"); /*polish gramaticall variation*/
                    break;
                default:
                    console.log("Do końca pozostało " + seconds + " sekund"); /*polish gramaticall variation*/
            }
            seconds = seconds - 1;
        }, 1000);
    });
});

HTML:

<label for="time">Set time in seconds </label>
<input type="text" id="time">
<button>Start</button>

最佳答案

您仅在 document.ready 上分配 seconds 的值,因此它的初始值只有 "" - 其中解析为 NaN。将其移至 .click 处理程序中,以便每次单击按钮时都会更新秒数:

var seconds = 0;
$start.on('click', function(){
    seconds = parseInt($input.val(), 10); // Always pass a radix to parseInt
    ....
});

jsFiddle

关于javascript - jquery 倒数计时器 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25638482/

相关文章:

javascript - 将 HTML 表单输入转换为 Javascript 变量并比较值

javascript - 在查看几个日期字符串后是否有编程方法来识别日期格式?

Javascript DOM背景位置getelementbyid()?

javascript - 相对于底部的位置不起作用

javascript - 单击按钮不会更改 jquery 中的 .html

javascript - 输入一个数字并在 AngularJS 中以 'hh:mm:ss'/time 格式显示

c# - 倒计时器中的重置按钮

javascript - 带圆括号或方括号的箭头函数之间的区别

javascript - D3.js 未在 HTML 中附加更新的树

java - 如何调用在不同函数中定义的对象的方法? [安卓]