Javascript / html使计时器在您停止输入时停止(最后一个单词的10秒后)

时间:2018-12-06 21:47:33

标签: javascript html

    <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>


    <h1><time>00:00:00</time></h1>
<script>
    var h1 = document.getElementsByTagName('h1')[0],
    start = document.getElementById('start'),
    stop = document.getElementById('stop'),
    clear = document.getElementById('clear'),
    seconds = 0, minutes = 0, hours = 0,
    t;

function add() {
    seconds++;
    if (seconds >= 60) {
        seconds = 0;
        minutes++;
        if (minutes >= 60) {
            minutes = 0;
            hours++;
        }
    }

    h1.textContent = (hours ? (hours > 9 ? hours : "0" + hours) : "00") + ":" + (minutes ? (minutes > 9 ? minutes : "0" + minutes) : "00") + ":" + (seconds > 9 ? seconds : "0" + seconds);

    timer();
}
function timer() {
    t = setTimeout(add, 1000);
}
timer();
    </script>

    <input type="text" id="myInput" oninput="myFunction()">

<p id="myInput"></p>

<script>
function myFunction() {
    time;
}
</script>


    <script>
document.getElementById("myInput").onkeypress = function() {Start()};

function Start() {
time;}
}

function Stop(){
clearTimeout(t);
}
</script>

在停止输入后如何才能到达计时器,暂停计时器需要10秒。 不键入,因为它不计入LAST短语,因为它只是在您键入内容时递减计数。

我正在使用Dreamweaver并在此之后编写程序,但是在您停止键入(倒数10次)后我无法停止计时器

1 个答案:

答案 0 :(得分:1)

您可能会成功将myFunction版本周围的代码替换为类似的

<script>
    timer = null
    function myFunction() {
        clearTimeout(timer)
        timer = setTimeout(Stop, 10000)
    }
</script>

每次调用timer时,它将用新的10秒倒计时替换myFunction的值。因此,如果您在键入按键时调用myFunction,则只要用户不断输入,计时器就会一直保持重置状态

正如下面的雅各布所说,修改输入以使用keyup

<input type="text" id="myInput" onkeyup="myFunction()">