Показать сообщение отдельно
  #4 (permalink)  
Старый 28.11.2012, 21:30
Аспирант
Отправить личное сообщение для Sanda Посмотреть профиль Найти все сообщения от Sanda
 
Регистрация: 12.10.2012
Сообщений: 90

Я понимаю, что он _должен_ делать, но в том-то и дело, что реализована другая логика. Для правильной логики строчки из else-блока следует раскидать по соответствующим if-ам, а не валить в одну кучу. И почитай про toggle - код получится значительно читабельнее.
Ну и сравнивать даты в виде строк - далеко не лучшая идея. Во-первых, сама по себе, а во-вторых, для времени "09:05:00" ты получаешь nowTime = "9:5:0".

Лучше делать так:
var nowTime = now.getHours() * 60 * 60 + now.getMinutes() * 60 + now.getSeconds();

и дальше сравниваем числа. Поэтому лучше сразу оформить в отдельную функцию:
function getTimeFromDate(date) {
  return date.getHours() * 60 * 60 + date.getMinutes() * 60 + date.getSeconds();
}
Ответить с цитированием