2010-10-08 3 views
2

Я использую часы jquery, чтобы продемонстрировать время в своем приложении.
В этом приложении есть два разных окна браузера, где один из них запускает другое как всплывающее окно.
В этих двух окнах я использую jclock экземпляров, но каким-то образом эти часы не гаснут как один.Синхронные часы Ticks

http://plugins.jquery.com/files/jquery.jclock-1.2.0.js.txt

$(document).ready(function() { 
     $('#clock').jclock({ format: '%d %B %A %Y %H:%M:%S' }); 
}); 

<div id="clock"></div> 

Почему эти часы не одновременными?
Как я могу это достичь?

ответ

2

Возможно, из-за того, что jclock просто использует интервал времени ожидания 1000 мс для обновления вида часов, не выравнивая обновления до 0-й миллисекунды.

Я могу думать о двух обходных:

  1. Не сразу инициализировать jclock внутри всплывающего окна, но пусть родительское окно инициализации как свои собственные и экземпляры jclock всплывающего окна в. Может быть, так, часы будут синхронизироваться.
  2. В главном окне и всплывающем окне: Прочитайте текущие миллисекунды и установите тайм-аут, истекающий после текущего миллисекунда% 1000 мс. Когда истечет время ожидания, инициализируйте jclock. Вероятно, это будет не так точно, как вариант №1, так как вы не можете гарантировать своевременный запуск setTimeout.
+0

Я сделал, как вы сказали, я открыл окно, я инициализировал оба часа, я могу сказать, что они почти такие же:) Ваши другие варианты увеличат работу с кодом, поэтому я не попробую это. +1 – Myra

Смежные вопросы