Skocz do zawartości
  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

Promowane odpowiedzi

Witam, dzisiaj krótko i na temat. 

 

  1. Pobieramy czas z serwera i tworzymy z niego tablice
    <?php
    $czas=date("H:i:s");
    $godzina=explode(":", $czas);
    >
  2. Przypisujemy wartości z tablicy do zmiennych
    <?php
    echo"var godzina = $godzina[0];";
    echo"var minuta = $godzina[1];";
    echo"var sekunda = $godzina[2];";
    >
  3. Tworzymy funkcje w JS, która będzie obliczała czas z podanych zmiennych.
    function zegar()
    {   
        if (sekunda==60)
        {
            sekunda=0;
            minuta++;
        }
        else sekunda++;
        if (minuta==60) 
        {
            minuta=0;
            godzina++;
        }
        if (godzina==24) godzina=1; 
        document.getElementById("zegar").innerHTML= godzina + ":" + minuta + ":" + sekunda;
        setTimeout("zegar()", 1000)
    }
  4. Łączymy wszystko razem i podpinamy funkcje pod onload.
<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Zegar</title>
</head>
<body onload="zegar()">
<?php
$czas=date("H:i:s");
$godzina=explode(":", $czas);
>
<div id="zegar"></div>
<script>
<?php
    echo"var godzina = $godzina[0];";
    echo"var minuta = $godzina[1];";
    echo"var sekunda = $godzina[2];";
>
function zegar()
{   
    if (sekunda==60)
    {
        sekunda=0;
        minuta++;
    }
    else sekunda++;
    if (minuta==60) 
    {
        minuta=0;
        godzina++;
    }
    if (godzina==24) godzina=1; 
    document.getElementById("zegar").innerHTML= godzina + ":" + minuta + ":" + sekunda;
    setTimeout("zegar()", 1000)
}
</script>
</body>
</html>

Pozdrawiam.

Edytowane przez naczelnynieuk
  • Lubię to! 1

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Cuan    182

1. Po co komplikować? Do zmiennych w js można po prostu wrzucić date('H'), date('i') i date('s') niż bawić się w podzielenie ciągu znaków na części do tablicy.

2. Po co wywoływać trzy razy echo dla jednego ciągu znaków?

3. "doctype" z dużych.

4. Jeżeli używasz edytora na wyższym poziomie od notepad++, zalecam "zamykać" znaczniki takie jak "meta",
   

<meta charset="UTF-8" />

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
  1. Też można, jednak wywołujesz wtedy 3 razy funkcje, a tak raz.
  2. Można, też tak jak mówisz.
  3. Tak ? To jaka jest różnica ... ? Mogę napisać nawet tak: 
    <!DoCtYpE HTML>
    
  4. Te zamknięcia znaczników to pozostałości po xHTML, zbędne bajty.
Edytowane przez naczelnynieuk

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Cuan    182

1. Dłużej będzie wykonywane explode i bardziej obciąży pamięć RAM, niż 3x date().

3. Prawidłowo:

<!DOCTYPE html>

inaczej przeglądarka może nie rozpoznać typu dokumentu (takie Chrome powinno sobie dostosować, ale co innego z np. IE).

4. Nie, jeżeli pisząc kod (html skryptem nie nazwę), to niektóre edytory mogą rozpoznać to jako otwarcie znacznika. Odsyłam do punktu 2: https://www.pecetowicz.pl/html-css-to-musisz-wiedziec-t63374/

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Cuan    182

1. Wiem co piszę.

3. Wiem co piszę i ogólnie semantyka kodu.

4. Mój akurat poprawia, ale wiem z doświadczenia. Na marginesie: Polecam kochany Brackets (Brackets.io).

Edytowane przez Nydylier

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Karwoś    187

Niby wszystko cacy, lecz parę rzeczy jest tu zbędnych...

Chodź z drugiej strony nadają smak.

Także nie jest źle. ;)

Dobry poradnik.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Aronxx    4

Dobry poradnik, oczywiście chęcią są zawsze nagradzane, tak więc wielki + dla autora, dodał bym kilka zdjęć jak to po zrobieniu wygląda, czyli cały efekt pracy.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

×