От предыдущего владельца сайта мне достался следующий код, отсчитывающий время от определенной даты. Код работает, но при этом в нем отсутствуют склонения у дней и часов. https://codepen.io/anon/pen/bKZEMB
window.onload=function() {
// Month,Day,Year,Hour,Minute,Second
upTime('feb,14,2018,14:00:00');
}
function upTime(countTo) {
now = new Date();
countTo = new Date(countTo);
difference = (now-countTo);
days=Math.floor(difference/(60*60*1000*24)*1);
hours=Math.floor((difference%(60*60*1000*24))/(60*60*1000)*1);
document.getElementById('days').firstChild.nodeValue = days;
document.getElementById('hours').firstChild.nodeValue = hours;
document.getElementById('minutes').firstChild.nodeValue = mins;
document.getElementById('seconds').firstChild.nodeValue = secs;
clearTimeout(upTime.to);
upTime.to=setTimeout(function(){ upTime(countTo); },1000);
}
HTML
<div id="countup">
Прошло
<p id="days">00</p>
<p class="timeRefDays">дней</p> и
<p id="hours">00</p>
<p class="timeRefHours">часов</p>
</div>
Сам я в javascript абсолютно ничего не понимаю, но этот момент очень сильно режет глаза. Буду благодарен за решение проблемы. Пытался самостоятельно адаптировать этот код https://gist.github.com/realmyst/1262561 но потерпел неудачу
Если не менять Ваш код, то пример "в лоб":
window.onload = function() {
// Month,Day,Year,Hour,Minute,Second
upTime('feb,14,2018,14:00:00');
}
function upTime(countTo) {
now = new Date();
countTo = new Date(countTo);
difference = (now - countTo);
days = Math.floor(difference / (60 * 60 * 1000 * 24) * 1);
hours = Math.floor((difference % (60 * 60 * 1000 * 24)) / (60 * 60 * 1000) * 1);
document.getElementById('days').firstChild.nodeValue = days;
document.getElementById('hours').firstChild.nodeValue = hours;
document.querySelector('.timeRefDays').textContent =
(days == 1 || (days > 19 && days % 10 == 1)) ? 'день' :
((days > 1 && days < 5) || (days > 19 && days % 10 > 1 && days % 10 < 5)) ? 'дня' : 'дней';
document.querySelector('.timeRefHours').textContent =
(hours == 1 || (hours > 19 && hours % 10 == 1)) ? 'час' :
((hours > 1 && hours < 5) || (hours > 19 && hours % 10 > 1 && hours % 10 < 5)) ? 'часа' : 'часов';
clearTimeout(upTime.to);
upTime.to = setTimeout(function() {
upTime(countTo);
}, 1000);
}
<div id="countup">
Прошло
<p id="days">00</p>
<p class="timeRefDays">дней</p> и
<p id="hours">00</p>
<p class="timeRefHours">часов</p>
</div>
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
помогите пожалуйста решить задачуНеобходимо очистить 3000 полей на одной странице
Нужно отправить POST запрос на rest-api контроллер и получить ответ с помощью скрипта в приложении asp web formsСкрипт :