подскажите, как СДЕЛАТЬ ЧАСЫ С ПРОГРЕСС-БАРОМ на джаваскрипте, то есть 23:59:59 = 100% и 00:00:00 = 0% (p.s. время берётся с устройства пользователя)
Я нуль в js пока что, заранее спасибо за помощь
Ответы (2 шт):
Автор решения: Denis640Kb
→ Ссылка
var date = new Date(); // Получаем текущую дату и время
var hours = date.getHours(); // Получаем часы
var mins = date.getMinutes(); // Получаем минуты
var seconds = date.getSeconds() // Получаем секунды
var InSeconds = (hours * 3600) + (mins * 60) + seconds; // Переводим часы и минуты в секунды
var n = Math.floor((InSeconds * 100) / 86400) + '%'; // В дне 86400 секунд. Высчитываем процент текущего времени и добавляем вконце символ %
alert(n); // Собственно показываем значение
Автор решения: Alexander Lonberg
→ Ссылка
function progress() {
// начало дня
let startTime
const setStart = () => (startTime = new Date().setHours(0, 0, 0, 0))
setStart()
// ... конец = startTime + 24 * 60 * 60 * 1000
const inputRange = 24 * 60 * 60 * 1000
const p = () => 100 / (inputRange / (Date.now() - startTime))
return () => {
let t = p()
if (t > 100) {
setStart()
t = p()
}
console.log(t)
}
}
setInterval(progress(), 1000)