#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) { /что бы вы ни хотели сделать/ }