Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Время в блоках (обновление) (https://javascript.ru/forum/misc/44135-vremya-v-blokakh-obnovlenie.html)

Vladislav 08.01.2014 14:17

Время в блоках (обновление)
 
Здравствуйте, есть много (более 10) блоков с новостями, они добавляются из БД с помощью ajax'a как только что-то новое появилось.

В каждом блоке с новостью есть блок с временем, так вот его мне и нужно обновлять...

HTML:
<div class='news'>
<div class='text'>text...</div>
<div class='time'>10 секунд назад</div>
</div>

<div class='news'>
<div class='text'>text...</div>
<div class='time'>20 секунд назад</div>
</div>

<div class='news'>
<div class='text'>text...</div>
<div class='time'>5 мин назад</div>
</div>


Так вот, каждые 10 секунд мне нужно обновлять все блоки с классом time, и прибавлять соответственно к ним 10 сек.

То есть, у меня например с начало 2 блока. Первый имеет время: "5 минут назад", второй только что добавился и время у него: "только что".
Потом через 10 секунд, мне нужно обновить блоки со временем: первому "5 минут 10 секунд назад", а второму установить время: "10 секунд назад"... и так далее...

Как это организовать?

рони 08.01.2014 14:24

Vladislav,
хранить время создания сообщения где-то в class='time' - при получении новых сообщений или через секунду или минуту пересчитывать все class='time'

Vladislav 08.01.2014 14:33

Цитата:

Сообщение от рони (Сообщение 290986)
Vladislav,
хранить время создания сообщения где-то в class='time' - при получении новых сообщений или через секунду или минуту пересчитывать все class='time'

Как именно их хранить? Ведь у меня в блоках значение будет:

"5 минут назад", "1 час назад".

Если бы еще в секундах все было, то там просто бы к существующиму число добавил бы 10 сек. А если в минутах, часах?

рони 08.01.2014 14:48

Vladislav,
вместо
<div class='time'>10 секунд назад</div>

посылать
<div class='time'  data-time='1389177963287'></div>

иначе лишний раз парсить строку


Часовой пояс GMT +3, время: 12:26.