javascript - 我的时钟区域刷新不佳

标签 javascript timer clock zone

我的英语很差,所以我可能会犯错误。

两天前我写了时钟区域,但效果很差。往下看你可以看到我的代码。我需要你的建议。

<script>
        function Clock(time_zone) {
            var time    = new Date();
            var hours   = time.getUTCHours() + time_zone;
            var minutes = time.getUTCMinutes();
            var seconds = time.getUTCSeconds();
            var suffix  = "AM";
            var day = time.getDate();
            var month = time.getMonth();
            var year = time.getFullYear();
            var months = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");


            if (hours < 0) {
                hours += 24;
            }

            if (hours > 11) {
                suffix = "PM";
                hours -= 12;
            }

            if (hours == 0) {
                hours = 12;
            }

            if (hours < 10) {
                hours = "0" + hours;
            }

            if (minutes < 10) {
                minutes = "0" + minutes;
            }

            if (seconds < 10) {
                seconds = "0" + seconds;
            }

            var time_span = document.getElementById('time');
            var suffix_span = document.getElementById('suffix');
            var date_span = document.getElementById('date');
            time_span.innerHTML = hours + ":" + minutes + ":" + seconds;
            suffix_span.innerHTML = suffix;
            date_span.innerHTML = day + " " + months[month] + " " + year;

            setTimeout(function(){Clock(time_zone)}, 1000);
        }
        window.onload = function()
        {
            Clock(2);
        }
    </script>

这是更改区域的按钮。

<input type="button" onClick="Clock(5)" value="AMSTERDAM" name="AMSTERDAM"/>

当我单击此按钮时,我的时间在旧区域时间(时钟(2))和新区域时间(时钟(5))之间闪烁

能告诉我怎么修复吗???

感谢所有建议。

拜托,你会改正我的语言错误。

最佳答案

需要取消原来的超时

if(window.timer) window.clearTimeout(window.timer);
window.timer = setTimeout(function(){Clock(time_zone)}, 1000);

关于javascript - 我的时钟区域刷新不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17328596/

相关文章:

javascript - 如何使用 Javascript 将 CSS、META 等标签插入到 head 标签中?

C# 在后台 worker 中使用计时器

linux - 面对不同步的时钟,inotify 是否有效?

python - 如何计算时针和分针之间的角度?

c++ - C++ 优化器重新排序对时钟()的调用是否合法?

javascript - 如何对输入字段的行和列求和

javascript - 使用 requirejs 优化器优化后,Angularjs 找不到模块

javascript - "Decompile"JavaScript函数?

javascript - React 和多个定时事件

java - 如何获取视频捕捉对象的每秒帧数/帧数