• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

zegarek w js+php czy można połączyć funkcje oraz inny zapis funkcji..

Object Storage Arubacloud
0 głosów
177 wizyt
pytanie zadane 22 listopada 2016 w JavaScript przez mr-tiny Nowicjusz (140 p.)

Witam bardzo serdecznie.

Ostatnio tak sobie przysiadłem do zabawy z JS (jest to praktycznie moja pierwsza większa przygoda w tym świecie. Choć już miałem styczność ogólnie z programowaniem to mogę powiedzieć że to są moje pierwsze kroki)..

Napisałem sobie zegarek na podstawie tego filmiku. Może i po części robię sobie krzywdę ale trochę się wkręciłem w ten zegarek i zacząłem go rozbudowywać. Niektóre rzeczy znalazłem w internecie ale i tak starałem się według siebie użyć najlepszego rozwiązania. Obecnie zegarek wyświetla mi wszystko co chciałem (dzień z nazwą tygodnia, miesiąc, rok, godziny, minuty, sekundy) a dodatkowo czas jest pobierany z serwera. ..No to o to kod moich wypocin:

var difference = new Date().getTime()-(<?php echo date(U); ?>*1000);

function clock_day_serwer()
{
  var now = new Date();
  now.setTime(now.getTime()-difference);
  name_days = new Array ("Niedzielę","Poniedziałek","Wtorek","Środę","Czwartek","Piątek","Sobotę");
  var nd = name_days[now.getDay()];
  var d = now.getDate();
  name_months = new Array ("Stycznia","Lutego","Marca","Kwietnia","Maja","Czerwca","Lipca","Sierpnia","Września","Października","Listopada","Grudnia");
  var m = name_months[now.getMonth()];
  var y = now.getFullYear();
  var H = now.getHours();
  var M = now.getMinutes();
  var S = now.getSeconds();

  function loadZero(i)
  {
    return (i<10)? "0"+i:i;
  }

  function loadDwadziesciaCztery(i)
  {
   return (i==00)? "24":i;
  }

  document.getElementById('day').innerHTML="<b>Dziś mamy:</b>&nbsp&nbsp"+nd+"&nbsp&nbsp"+loadZero(d)+"&nbsp&nbsp"+m+"&nbsp&nbsp"+y+" roku";
  document.getElementById('clock').innerHTML="<b>A na zegarku wybiła właśnie:</b>&nbsp&nbsp"+loadDwadziesciaCztery(loadZero(H))+":"+loadZero(M)+":"+loadZero(S);
  setTimeout('clock_day_serwer()', 1000);
}

No i teraz przechodząc do tego co chciałbym się dowiedzieć:

Czy mogę połączyć dwie funkcje  "loadZero" i "loadDwadziesciaCztery" w jedną?

Jak już wspomniałem nie wiem czy w tym momencie sobie robię krzywdę czy nie ale strasznie nie daje mi to spokoju. Próbuje kombinować z tym ale nie mam nawet pojęcia czy mogę taki zabieg zrobić, a też nie znam żadnego programisty żeby się poradzić.

I tak przy okazji odnośnie tych funkcji. Jeśli chciałbym zapisać je w taki bardzo prosty sposób wręcz książkowy dla początkujących to biorąc pod lupę np funkcje "loadZero" ona powinna być tak zapisana:

function loadZero(i)
{
if (i<10) 
{
return ;
}
}

No i właśnie jak to zapisać przy return.. Bo rozumiem że funkcja ma sprawdzić mi czy"i" jest mniejsze od 10 jeśli tak to ma dopisać do "i" zero czyli 0+i=0i. Lecz nie wiem jak to zapisać przy return.. Pomoże ktoś z tym..

Bardzo serdecznie dziękuję z góry za pomoc jak i wszelakie informacje.

Pozdrawiam,
Patryk

 

P.S.

Przepraszam jeśli tematyką wybiegłem za bardzo po za temat ale tak moja ciekawość nie da mi spokoju.. Mam nadzieję że temat też dałem dobry..

1 odpowiedź

0 głosów
odpowiedź 22 listopada 2016 przez niezalogowany

Można to zrobić w taki sposób

function twentyfourleadingzero (num) {
  num = num || 24;
  return (num > 9 ? '' : '0') + num;
}

ogólnie, druga linia kodu mówi praktycznie to samo co

if (!num) {
  num = 24;
}

łapie się na to wartość 0 (i wszelkie inne wartości falsy, które nas w przypadku tego skryptu nie interesują), która zostanie zastąpiona liczbą 24

Kolejna linia sprawdza, czy liczba jest większa czy mniejsza bądź równa 9. Jeśli mniejsza, to dodajemy z przodu '0', w przeciwnym wypadku dodajemy pusty string. Dzięki dodaniu pustego stringu gwarantujemy, że wynikiem funkcji będzie zawsze tekst a nie raz liczba a raz tekst.

komentarz 22 listopada 2016 przez mr-tiny Nowicjusz (140 p.)
a w tym przypadku co podałeś wyżej ten znak "||" oznacza co ?

Podobne pytania

0 głosów
2 odpowiedzi 880 wizyt
pytanie zadane 2 marca 2017 w JavaScript przez Milesq Nałogowiec (32,020 p.)
0 głosów
1 odpowiedź 434 wizyt
pytanie zadane 2 marca 2017 w JavaScript przez Milesq Nałogowiec (32,020 p.)
0 głosów
1 odpowiedź 1,181 wizyt
pytanie zadane 4 marca 2017 w JavaScript przez Milesq Nałogowiec (32,020 p.)

92,620 zapytań

141,474 odpowiedzi

319,813 komentarzy

62,004 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...