MFaldzinski 53 Napisano 17 Stycznia Udostępnij Napisano 17 Stycznia Hej, zacząłem naukę javascript i mam problem z pokazaniem "szacowanego czasu dostawy" w poszczególnych godzinach. Chodzi o to, że np między 15 a 18 szacowany czas dostawy wynosi 90min a między 11 a 15 wynosi 45min. Mam oto taki kod i nie wiem gdzie popełniam błąd lub co jest po prostu źle: var today = new Date(); var hourNow = today.getHours(); var delivery; if (hourNow > 18) { delivery = 'Szacowany czas dostawy to: <b>90 minut</b>'; } else if (hourNow > 15) { delivery = 'Szacowany czas dostawy to: <b>45 minut</b>'; } else if (hourNow > 11) { delivery = 'Szacowany czas dostawy to: <b>70 minut</b>'; } else { delivery = 'Error!'; } document.write(delivery); Aktualny kod cały czas zwraca mi wartość, że szacowany czas dostawy to: 45min. Odnośnik do odpowiedzi Udostępnij na innych stronach
Ekspert -n3veR 6 241 Napisano 17 Stycznia Ekspert Udostępnij Napisano 17 Stycznia U mnie wyświetla '90 minut'. Jedyne co bym zmienił tutaj, to usunął var i skorzystał z let / const oraz deklarację zmiennej `delivery`: let delivery = ''; SeNioR i MFaldzinski dodali reakcje 1 1 Odnośnik do odpowiedzi Udostępnij na innych stronach
MFaldzinski 53 Napisano 17 Stycznia Autor Udostępnij Napisano 17 Stycznia @-n3veR nie wiem dlaczego ale "90min" powinno pokazać od godziny 18 tak jak jest ustawione a pokazało dopiero jak wybiła godzina 19 😕 Odnośnik do odpowiedzi Udostępnij na innych stronach
Administrator Mativve 3 964 Napisano 17 Stycznia Administrator Udostępnij Napisano 17 Stycznia Ja bym to zrobił tak: https://codepen.io/Mativve/pen/NWRoGMw SeNioR, Tomik i MFaldzinski dodali reakcje 2 1 Odnośnik do odpowiedzi Udostępnij na innych stronach
Ekspert Rozwiązanie aXenDev 1 765 Napisano 17 Stycznia Ekspert Rozwiązanie Udostępnij Napisano 17 Stycznia (edytowane) Podstawowa zasada matematyki. W kodzie masz znak > czyli większy niż. if (hourNow > 18) { Ten kod oznacza że godzina ma być większa niż godzina 18 czyli uruchomi się dopiero jak przekroczy godzinę 19. Zastosuj tutaj kod >= czyli większe bądź równe: if (hourNow >= 18) { Edytowane 17 Stycznia przez aXenDev MFaldzinski, Mativve, Tomik i 1 inny dodali reakcje 3 1 Odnośnik do odpowiedzi Udostępnij na innych stronach
Ekspert -n3veR 6 241 Napisano 17 Stycznia Ekspert Udostępnij Napisano 17 Stycznia (edytowane) Bo timezone jest 'wyzerowany' najprawdopodobniej. Edytowane 17 Stycznia przez -n3veR MFaldzinski i SeNioR dodali reakcje 1 1 Odnośnik do odpowiedzi Udostępnij na innych stronach
MFaldzinski 53 Napisano 17 Stycznia Autor Udostępnij Napisano 17 Stycznia Dziękuję wszystkim za pomoc. Wszystko już działa ❤️ Mativve dodał reakcję 1 Odnośnik do odpowiedzi Udostępnij na innych stronach
Rekomendowane odpowiedzi
Problem wciąż nierozwiązany? Dodaj swoją odpowiedź
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto. Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się