我正在使用一个下拉列表,使用时刻时区在点击时显示不同的时区。例如,当您单击标有“est”的下拉菜单时,它将显示东部时间,当您单击“cst”时,将显示 cst 时间,依此类推。
无论如何,我遇到的问题是......我setInterval(updateTime, 1000);
用来显示秒数,现在通过当用户点击“est”然后在下拉列表中点击另一个时区,如“cst”时这样做那些时间的每一秒都会在彼此之上出现和消失。我想要它,所以当您单击一个li
元素时,屏幕上的前一个元素将具有 display=none 的属性。因此,例如当您单击 est 时,将显示 est 时间,然后当您单击display=none
cst 时,将显示 est 并显示 cst 时间。满口的男人。
有没有办法做到这一点并且仍然使用setInterval
1 秒?
这是我的代码...
<div>
<li>
<ul>
<li id="tmz1">est</li>
<li id="tmz2">central</li>
<li>pacific</li>
</ul>
</li>
<div id="output1"></div>
<div id="output2"></div>
</div>
$(document).ready(function(){
var output1 = document.getElementById('output1');
var output2 = document.getElementById('output2');
document.getElementById('tmz1').onclick = function updateTime(){
output2.style.display = "none";
output1.style.display = "block";
var now = moment();
var humanReadable = now.tz("America/Los_Angeles").format('hh:mm:ssA');
output1.textContent = humanReadable;
setInterval(updateTime, 1000);
}
updateTime();
});
$(document).ready(function(){
var output2 = document.getElementById('output2');
var output1 = document.getElementById('output1');
document.getElementById('tmz2').onclick = function updateTimeX(){
output1.style.display = "none";
output2.style.display = "block";
var now = moment();
var humanReadable =
now.tz("America/New_York").format('hh:mm:ssA');
output2.textContent = humanReadable;
setInterval(updateTimeX, 1000);
}
updateTimeX();
});