javascript - 如何调用 setInterval 函数
问题描述
setInterval
我希望它不是在刷新时运行,而是在单击开始按钮并按时运行。在过去的几个小时里,我几乎尝试了所有变体,但它没有任何错误。
相反,如果时间> 2,则计时器停止,这很有意义。因此,我不确定如何让计时器start
在点击后重新启动,以及计时器在达到时间后停止(即 2 秒)
HTML
<script src='https://api.chipware.co.za/js/flipclock-min.js'></script><script src="./script.js"></script>
<button style="width:200px; height: 50px;" id="start">Start</button>
<button style="width:200px; height: 50px;"onclick="submit()" id="stop">Submit</button>
JS
let time = 2;
var clock = $('.clock').FlipClock(0, {
clockFace: 'HourlyCounter',
countdown: false });
function submit(){
clock.stop();
}
var element_ = document.getElementById("start");
element_.addEventListener('click', function(){
start(time);
});
function start(time){
countup = setInterval(function () {
if(clock.getTime().time > time) {
clock.stop();
clearInterval(countup);
}
else{
var element = document.getElementById("stop");
element.addEventListener('click', function(){
submit();
});
}
})};
也不确定为什么此代码本身运行时没有错误,但在 chrome 扩展中,它给出:
Uncaught TypeError: $(...).FlipClock is not a function
解决方案
我刚刚添加并更新了您缺少的翻转时钟库,现在它可以工作了。
let time = 2;
var clock = $('.clock').FlipClock(0, {
clockFace: 'HourlyCounter',
countdown: false });
function submit(){
clock.stop();
}
var element_ = document.getElementById("start");
element_.addEventListener('click', function(){
start(time);
});
function start(time){
countup = setInterval(function () {
console.log(clock.getTime().time ,time)
if(clock.getTime().time > time) {
clock.stop();
clearInterval(countup);
}
else{
var element = document.getElementById("stop");
element.addEventListener('click', function(){
submit();
});
}
})};
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/flipclock/0.7.7/flipclock.min.js" integrity="sha512-Vy4ftjkcjamOFPNSK7Osn8kYhF7XDcLWPiRvSmdimNscisyC8MkhDlAHSt+psegxRzd/q6wUC/VFhQZ6P2hBOw==" crossorigin="anonymous"></script>
<button style="width:200px; height: 50px;" id="start">Start</button>
<button style="width:200px; height: 50px;"onclick="submit()" id="stop">Submit</button>
推荐阅读
- javascript - 是否可以使用 ref 访问数组映射函数中的 React 组件?
- json - Swift 4.1 可编码/可解码嵌套数组
- android - GirdLayoutManager 不工作,kotlin,android
- python - 模拟(蒙特卡罗?Python)
- database - 这是 Boyce-Codd NF 中的关系吗?
- c++ - Qt-如何实现一个可读写的QSqlQueryModel?
- python - 无法在 python 中创建目录
- python-3.x - 熊猫误读文件中的行
- jquery - 如何创建 1 个事件处理程序以通过 2 次单独单击(随后)运行不同的功能?
- xcode - 安装 OpenSSL Cocoapod 时遇到问题