(jQuery) Показывать и скрывать div по достижении даты / времени истечения срока действия

#jquery #date #time #hide #show

#jquery #Дата #время #скрыть #показать

Вопрос:

 <div class="info">
TEXT still showing
</div>

<div class="timeout">
TEXT (with display:none)
</div>
  

Когда в 10:00 вечера 8.апреля
«информация» скроется
и
Появится текст «тайм-аут»

GMT 1

Большое спасибо

Комментарии:

1. В чем ваш вопрос? В нынешнем виде это ужасно похоже на вопрос «напишите мой код для меня»

2. используется ли время клиента или сервера? клиент может легко изменить свое время.

3. Ссылка: Документация по дате в MDC

4. Ссылка: jquery.show()

5. Мой ответ должен решить вашу проблему.

Ответ №1:

что-то вроде этого сработало бы:

 window.setInterval(function(){

  var current = new Date();
  var expiry = new Date("April 8, 2011 10:00:00")

  if(current.getTime()>expiry.getTime()){
      $('#timeout').show();
      $('#info').hide();
  }

}, 5000);
  

Я не знаком с функциями даты javascript, поэтому я погуглил это и использовал смесь w3c и этой статьи для генерации этого ответа

Комментарии:

1. как я могу использовать серверное время? Большое спасибо

2. Серверное время для текущей даты?

3. зависит от языка, если вы используете php, тогда просто проверьте их функцию date и передайте дату в <?php echo «yourvalue»; ?> php.net/manual/en/function.date.php

Ответ №2:

вам нужно использовать setInterval, чтобы каждую секунду проверять, который час. Помните, что для этого будет использоваться время на стороне клиента. Лучший способ — использовать время сервера для получения продолжительности прошедшего времени и установить эту продолжительность в setInterval, чтобы показать, скрыть div.

Ответ №3:

что вам нужно, так это две вещи:

  • Код для настройки свойств видимости
  • Для сравнения текущего и целевого времени

var targetTime = новая дата(2011, 4, 8, 22, 0, 0);//22 означает 22:00 ant, то есть 10 часов вечера (всего 12 часов)

var currentTime = новая дата();

переменная targetMilliSeconds = targetTime.getTime();

переменная currentMilliSeconds = currentTime.getTime();

if ((currentMilliSeconds — targetMilliSeconds) == 0) { /что бы вы ни хотели сделать/ }