Я использую выпадающий список, который отображает различные часовые пояса по щелчку, используя момент-часовой пояс.Например, когда вы щелкаете по раскрывающемуся списку с надписью «est», он отображает время по восточному времени, когда вы нажимаете «cst», отображается время cst и т. Д.
В любом случае проблема, с которой я сталкиваюсь, заключается вэто ... Я использую setInterval(updateTime, 1000);
, чтобы показывать количество секунд каждую секунду, теперь, когда пользователь нажимает на "est", а затем в раскрывающемся списке, например, "cst", появляется другой часовой пояс, оба этих времениисчезают каждую секунду друг на друга.Я хочу, чтобы при щелчке на элементе li
предыдущий экран отображал свойство display = none.Так, например, когда вы щелкнете по est, отобразится est time, а затем, когда вы нажмете cst, est будет display=none
, и время 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();
});