我正在使用Javascript制作时钟,每5秒钟就会显示几秒钟 不知道为什么。
我用于时钟的代码是:
const suv = document.querySelector('#online-suv');
const suvLabel = document.querySelector('#online-suvLabel');
suv.title = suvLabel.title = headingFromDurationstamp(newT, true);
function headingFromDurationstamp(t, inSeconds) {
let m = new Date(Number(t));
let sac = ('0' + String(d.getHours())).substr(-2) + ':' + ('0' + String(d.getMinutes())).substr(-2);
if (inSeconds) {
sac += ':' + ('0' + String(d.getSeconds())).substr(-2);
}
m = undef;
return sac;
}
问题陈述:
我想知道我需要在上面的JS中进行哪些更改,以便每秒像this这样的正常时钟显示秒。
答案 0 :(得分:1)
您的逻辑运作良好。您只需更改一些变量滥用即可,就像您将m
分配给新日期,并无处使用d
来获得囊袋和一些d = undef
一样,我不确定为什么要这么做。>
还请检查您的循环。
setInterval(function() {
$('.time').html(headingFromDurationstamp(Date.now(), true));
}, 500);
function headingFromDurationstamp(t, inSeconds) {
let d = new Date(Number(t));
let sac = ('0' + String(d.getHours())).substr(-2) + ':' + ('0' + String(d.getMinutes())).substr(-2);
if (inSeconds) {
sac += ':' + ('0' + String(d.getSeconds())).substr(-2);
}
//d = undef;
return sac;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="time">00:00:00</div>