11.08.2019, 22:56
|
|
Профессор
|
|
Регистрация: 24.02.2019
Сообщений: 806
|
|
помочь с функцией
Помогите добавить функцию, которая добавит ноль перед цифрой если число меньше 10ти сразу у всех элементов из списка
['hours', 'minutes', 'seconds', 'date', 'month']
если ноль не нужен, то просто удаляется этот элемент из списка...
в этом скрипте
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title></title>
<style>
div {
font: 14px serif;
border: 1px solid #ccc;
padding: 5px;
margin-bottom: 5px;
text-align: center;
}
</style>
</head>
<body>
<div id="hours"></div>
<div id="minutes"></div>
<div id="seconds"></div>
<div id="day"></div>
<div id="date"></div>
<div id="month"></div>
<div id="month_name"></div>
<div id="year"></div>
<script>
var hours = document.getElementById('hours');
var minutes = document.getElementById('minutes');
var seconds = document.getElementById('seconds');
var day = document.getElementById('day');
var date_name = document.getElementById('date');
var month = document.getElementById('month');
var month_name = document.getElementById('month_name');
var year = document.getElementById('year');
var date = new Date();
hours.innerHTML = date.getHours();
minutes.innerHTML = date.getMinutes();
seconds.innerHTML = date.getSeconds();
day.innerHTML = date.toLocaleString(window.navigator.language, { weekday: 'long' });
date_name.innerHTML = date.getDate();
month.innerHTML = date.getMonth()+1;
month_name.innerHTML = date.toLocaleString(window.navigator.language, { month: 'long' });
year.innerHTML = date.getFullYear();
</script>
</body>
</html>
|
|
11.08.2019, 23:51
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,123
|
|
Блондинка,
в конец скрипта
[hours, minutes, seconds, date_name, month].forEach(function(el) {
el.innerHTML = ("0"+ el.innerHTML).slice(-2)
})
Последний раз редактировалось рони, 12.08.2019 в 00:42.
|
|
12.08.2019, 02:54
|
|
Профессор
|
|
Регистрация: 24.02.2019
Сообщений: 806
|
|
что значат и как работают 43 и 46 строчки, а ты именно window.navigator.language?
|
|
12.08.2019, 03:10
|
|
Профессор
|
|
Регистрация: 24.02.2019
Сообщений: 806
|
|
можно ли заменить (и нужно ли? ) на массивы с названиями дней недели месяцев, чтобы можно было манипулировать окончанием август/августа, строчными и прописными буквами Августа/августа/АВГУСТА, языком русский/украинский/белоруский/литовский/латышский/эстонский
|
|
12.08.2019, 09:29
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,123
|
|
Сообщение от Блондинка
|
что значат
|
выделить незнакомый термин и поискать в гугле.
https://developer.mozilla.org/ru/doc...toLocaleString
это значит форматировать строку в зависимости от языка, window.navigator.language это язык страницы на которой работает скрипт, например ru. остальные параметры смотрите по ссылке.
|
|
12.08.2019, 17:18
|
|
Профессор
|
|
Регистрация: 24.02.2019
Сообщений: 806
|
|
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style>
div {
font: 14px serif;
border: 1px solid #ccc;
padding: 5px;
margin-bottom: 5px;
text-align: center;
}
</style>
</head>
<body>
<script type="module">
let days = ["Воскресенье", "Понедельник", "Вторник",
"Среда", "Четверг", "Пятница", "Суббота"],
months = ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь",
"Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"];
let d = new Date();
for (let item of [
["hours", () => d.getHours()],
["minutes", () => d.getMinutes()],
["seconds", () => d.getSeconds()],
["day", () => days[d.getDay()]],
["date", () => d.getDate()],
["month", () => d.getMonth() + 1],
["month_name", () => months[d.getMonth()]],
["year", () => d.getFullYear()]
])
document.getElementById(item[0]).textContent = item[1]();
</script>
<div id="hours"></div>
<div id="minutes"></div>
<div id="seconds"></div>
<div id="day"></div>
<div id="date"></div>
<div id="month"></div>
<div id="month_name"></div>
<div id="year"></div>
</body>
</html>
Почему не показывает компоненты даты ? только пустые дивы...
|
|
12.08.2019, 17:22
|
|
Профессор
|
|
Регистрация: 24.02.2019
Сообщений: 806
|
|
рони,
лучше подскажи как заменить на массивы в первом посте
|
|
12.08.2019, 17:24
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,123
|
|
Сообщение от Блондинка
|
Почему не показывает компоненты даты ?
|
потому что это код для современных браузеров
|
|
13.08.2019, 00:46
|
|
Профессор
|
|
Регистрация: 24.02.2019
Сообщений: 806
|
|
рони,
как правильно заменить дни недели и месяцы на массивы в этом скрипте?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
div {
font: 14px serif;
border: 1px solid #ccc;
padding: 5px;
margin-bottom: 5px;
text-align: center;
}
</style>
</head>
<body>
<div id="hours"></div>
<div id="minutes"></div>
<div id="seconds"></div>
<div id="day"></div>
<div id="date"></div>
<div id="month"></div>
<div id="month_name"></div>
<div id="year"></div>
<script>
var hours = document.getElementById('hours');
var minutes = document.getElementById('minutes');
var seconds = document.getElementById('seconds');
var day = document.getElementById('day');
var date_name = document.getElementById('date');
var month = document.getElementById('month');
var month_name = document.getElementById('month_name');
var year = document.getElementById('year');
var date = new Date();
hours.innerHTML = date.getHours();
minutes.innerHTML = date.getMinutes();
seconds.innerHTML = date.getSeconds();
day.innerHTML = date.toLocaleString(window.navigator.language, { weekday: 'long' });
date_name.innerHTML = date.getDate();
month.innerHTML = date.getMonth()+1;
month_name.innerHTML = date.toLocaleString(window.navigator.language, { month: 'long' });
year.innerHTML = date.getFullYear();
[hours, minutes, seconds, date_name, month].forEach(function(el) {
el.innerHTML = ("0"+ el.innerHTML).slice(-2)
})
</script>
</body>
</html>
|
|
13.08.2019, 08:25
|
|
CacheVar
|
|
Регистрация: 19.08.2010
Сообщений: 14,228
|
|
Блондинка, не дублируй вопросы в разных темах.
|
|
|
|