Насколько я понял (не знаю как звучит ваше имя), вы хотите получить более читабельный и легко модернизируемый код (это и увеличивает вероятность его работоспособности), так как в нём наблюдаются некоторые одинаковые части, а также много операторов if-else.
Если это так, то
1) используйте оператор switch вместе с оператором if (switch более читабельный, но выражение в нём
должно возвращать конкретное значение, таким значение в вашем случае будут часы, для проверки неравенств придётся использовать if);
2) повторяющиеся конструкции обозначьте более короткими именами;
3) попробуйте в принципе сократить условия.
Комментирую.
Если вы понимаете, что h - это часы, то зачем обозначать минуты длинным словом minutes, логичнее использовать обозначение просто m.
Зачем использовать лишнюю переменную b, если она нужна лишь для того, чтобы установить значение всего лишь одного элемента (в вашем случае этот элемент sebastian.children[0].innerHTML), логичнее сразу присваивать это значение.
Элемент sebastian.children[0].innerHTML необходимо сократить в написании, например, так g = sebastian.children[0]; (ссылка на ваш элемент children), а далее g.innerHTML.
Зачем делать проверки подобные m>0, если m итак заведомо больше нуля.
Так как я не знаю, что вы имели ввиду под элементом sebastian.children[0], то привожу пример, для простого div, в который по нажатию кнопки "Сейчас", будет выводиться ответ.
В данном коде я использую разбивку по часам, что довольно удобно, а так как вариантов у вас много, привожу для примера несколько первых из них.
Итак, вот он код:
Код:
|
<div id=s style="background: yellow">Нажми на кнопку, что понять, что сейчас</div>
<button
onclick = "
data = new Date();
h = data.getHours();
m = data.getMinutes();
g = document.getElementById('s');
switch (h)
{
case 8: {g.innerHTML = 'Пары еще не начались'; break}
case 9:
{
if (m<45) {g.innerHTML = 'Первый час, первой пары'; break}
else
if (m<50) {g.innerHTML = 'Перемена 5 минут'; break}
else
{g.innerHTML = 'Второй час, первой пары'; break}
}
case 10:
{
if (m<35) {g.innerHTML = 'Второй час, первой пары'; break}
else
if (m<45) {g.innerHTML = 'Конец первой пары. Перемена на 10 минут'; break}
else
{g.innerHTML = 'Первый час, второй пары'; break}
}
default: g.innerHTML='Отдыхаем!!'
}
">Сейчас
</button> |