延时,复位和重启定时器? jQuery的

时间:2015-06-21 19:16:28

标签: javascript jquery timer

所以我基本上有一个计时器,每4秒钟计1个数字。 它在达到10时停止。

问:我怎么做才能让计时器在10秒停止几秒钟,然后在1点再次开始计数?

    var i = 8;
setInterval( increment, 4000);
function increment(){
if(i<=10)
{
console.log(i);
 $('.increase').html('').append(i);
i++;
}

}

JSfiddle:http://jsfiddle.net/0t3s8erj/

2 个答案:

答案 0 :(得分:1)

使用else

var counter = 0

function increment () {
  counter++

  if (counter <= 10) {
    console.log(counter)
  } else {
    clearInterval(incrementInterval)

    setTimeout(function () {
      incrementInterval = setInterval(increment, 4000)
    }, 10000)
  }
}

incrementInterval = setInterval(increment, 4000)

答案 1 :(得分:1)

你可以这样做,你运行一个间隔计时器,直到你达到最大计数,然后你清除该计时器并开始一个新的计时器你想要暂停的时间,然后当该延迟计时器触发时,你再次调用你的函数来启动它。

这是一个有效的代码片段(为了演示目的,我将时间设置为短,但您可以将它们设置为您想要的任何内容):

package com.javacodegeeks.core.io.outputstream;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class FileOutputStreamExample {

    private static final String OUTPUT_FILE = "C:\\Users\\nikos\\Desktop\\TestFiles\\testFile.txt";
    public static void main(String[] args) {

        String content = "Hello Java Code Geeks";

        byte[] bytes = content.getBytes();

        Path filepath = Paths.get(OUTPUT_FILE);

        try ( OutputStream out = Files.newOutputStream(filepath)) {

            out.write(bytes);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
greenMail.getManagers().getUserManager().deleteUser(user);