#jquery
#jquery
Вопрос:
Как мне это получить http://cnanney.com/journal/demo/apple-counter/countdown.php каждый день вести обратный отсчет до 10 утра, а затем перезапускать. Это для ежедневного дедлайна.
У меня уже есть скрипт, который делает это, но в гораздо более простой форме, однако я хочу, чтобы эффект перехода был достигнут здесь (нашел эту ссылку на этом веб-сайте) и просто нужно как-то отрегулировать время?
Комментарии:
1. Насколько я понимаю, у вас уже есть рабочий скрипт, и вы хотите оформить его как демонстрационную версию Apple-counter. Что касается времени, вы хотите вести обратный отсчет до следующих 10 утра (оно сбрасывается до 24 часов в 10 утра). Это верно?
Ответ №1:
кажется, что используемая техника анимации на самом деле является простым фоновым переходом этого фона :
http://cnanney-files.s3.amazonaws.com/journal/apple-counter/filmstrip.png
как объяснено здесь :
http://cnanney.com/journal/code/apple-style-counter/
Он использует setTimer()
и меняет позицию 5 раз в секунду для достижения результата анимации. Для вашей цели попробуйте сделать что-то подобное (изменив фактически используемый код)
...
// SET TARGET DATE HERE
var currentTime = new Date();
currentTime.setDate(currentTime.getDate() 1);
var month = currentTime.getMonth();
var day = currentTime.getDate();
var year = currentTime.getFullYear();
var target = new Date(year, month, day, 10, 00, 00);
...
и затем проверка правильности вычисления разницы между целевым днем и now ()
Надеюсь, это поможет
Ответ №2:
Вам нужно изменить способ вычисления цели, а также повторно инициализировать все, когда вы достигнете этой цели, чтобы заново запустить обратный отсчет.
Метод, который инициализирует все переменные этого скрипта
function SetNextTarget(){
now = new Date();
// check if we are past todays time
if (now.getHours() >= 10 amp;amp; now.getMinutes() >= 00)
{
// set tomorrow time if we are passed todays time
end = new Date(now.getFullYear(), now.getMonth(), now.getDate() 1, 10, 0,0);
}
else
{
//set today time if we have not reached it yet
end = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 10, 0,0);
}
theDiff = end-now;
theDiffString = getTimeString(theDiff);
}
и вам нужно вызвать это прямо перед initialDigitCheck()
методом, а также вызвать его, как только вы достигнете 0 в обратном отсчете (внутри doCount()
метода)
полная демонстрация на http://jsfiddle.net/gaby/zEAnJ /