所以我基本上有一个计时器,每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/
答案 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);