Pouze tento týden sleva až 80 % na e-learning týkající se PHP. A zároveň využij akce až 30 % zdarma při nákupu e-learningu. Více informací.
Hledáme asistenty pro kurzy programování - pohodová brigáda. Více info
PHP week
Avatar
matesax
Redaktor
Avatar
matesax:17.4.2012 15:52

Dobrý den,
chtěl bych se zaptat na řešení tohoto: Chtěl bych, aby se mi zobrazoval čas přesně sladěný s časem na PC - tedy aby se do nekonečna aktualizoval výpis času. Jenomže jak ten starý zápis smazat? Jak toto vůbec provést?

 
Odpovědět
17.4.2012 15:52
Avatar
Drahomír Hanák
Redaktor
Avatar
Odpovídá na matesax
Drahomír Hanák:17.4.2012 16:59

Na to se musí použít DOM (Document Object Model), aby se čas přepisoval a funkce setInterval, aby se aktualizoval.

function vypisCas() {
   // Uložíme si objekt Date
   var d = new Date();
   // Najdeme element s id="cas"
   var elem = document.getElementById("cas");
   // Uložíme tam aktuální čas
   elem.innerHTML = d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();
}
// Vypíšeme aktuální čas
vypisCas();
// Nastavíme automatické spouštění funkce vypisCas po 1s (1000ms)
setInterval(vypisCas, 1000);

Pak stačí v HTML přidat element třeba <div id="cas"></div> a čas se tam bude automaticky ukládat. JS kód musí ale být pod tímto elementem nebo ve funkci window.onload

 
Nahoru Odpovědět
17.4.2012 16:59
Avatar
matesax
Redaktor
Avatar
matesax:17.4.2012 17:49

Ať dělám co dělám nejde to:

<!DOCTYPE html>
<html lang="cs-cz" dir="ltr">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250"/>
<title>projec­t</title>
<script src="http://a­jax.googleapis­.com/ajax/lib­s/jquery/1.4.2/jqu­ery.min.js" type="text/ja­vascript"></scrip­t>

</head>

<body>

<script type="text/ja­vascript">

function vypisCas() {
// Uložíme si objekt Date
var d = new Date();
// Najdeme element s id="cas"
var elem = document.getE­lementById("cas");
// Uložíme tam aktuální čas
elem.innerHTML = d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();
}
// Vypíšeme aktuální čas
vypisCas();
// Nastavíme automatické spouštění funkce vypisCas po 1s (1000ms)
setInterval(vy­pisCas, 1000);

</script>

</body>

 
Nahoru Odpovědět
17.4.2012 17:49
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na matesax
David Čápka:17.4.2012 17:53

Zaprvé je tu tlačítko na vložení zdrojového kódu a zadruhé v body vůbec nemáš element, jehož obsah chceš měnit. Vlož si někam div s id cas, Drahoš ti to psal.

Nahoru Odpovědět
17.4.2012 17:53
Jsem moc rád, že jsi na síti, a přeji ti top IT kariéru, ať jako zaměstnanec nebo podnikatel. Máš na to! :)
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Drahomír Hanák
Redaktor
Avatar
Odpovídá na matesax
Drahomír Hanák:17.4.2012 17:55

Musí tam být ten tag <div id="cas"></div> a pokud máš jQuery, jde to udělat líp:

<!DOCTYPE html>
<html lang="cs-cz" dir="ltr">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250"/>
<title>project</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
// Počkáme si, až se načte HTML
$(function() {

 // Funkce uloží aktuální čas do tagu id="cas"
 function vypisCas() {
  // Uložíme si objekt Date
  var d = new Date();
  // Vložíme aktuální čas do elementu
  $("#cas").html( d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds() );
 }
 // Vypíšeme aktuální čas
 vypisCas();
 // Nastavíme automatické spouštění funkce vypisCas po 1s (1000ms)
 setInterval(vypisCas, 1000);
});
</script>

</head>
<body>

<!-- Sem bude JS vypisovat cas -->
<div id="cas"></div>

</body>
 
Nahoru Odpovědět
17.4.2012 17:55
Avatar
matesax
Redaktor
Avatar
matesax:17.4.2012 17:58

OK - ještě jeden dotaz - jak zadávat cesty k souborům? Děkuji.

 
Nahoru Odpovědět
17.4.2012 17:58
Avatar
matesax
Redaktor
Avatar
matesax:17.4.2012 18:06

Už jsem vše pochopil - děkuji.

 
Nahoru Odpovědět
17.4.2012 18:06
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.