js-hodiny v div+text jako parametr fce

6 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Zdravim, mam <div></div> a v tom se pomoci javascriptu zobrazuji hodiny. Jako parametr funkce je řetězec, ktery se ma zobrazovat za hodinama. je tu ale problem. /* $Id: functions.js,v 1.0 2005/12/29 02:23:35 mrkvo $ */ // Funkce pro zobrazeni casu function startTime(location) { var today = new Date() var h = today.getHours() var m = today.getMinutes() var s = today.getSeconds() // add a zero in front of numbers<10 m = checkTime(m) s = checkTime(s) document.getElementById('linetop').innerHTML=h+":"+m+":"+s+"-"+location t = setTimeout('startTime()',500) } function checkTime(i) { if (i<10) {i="0" + i} return i } -- stranka.html -- <body id="inline" onload="startTime('text zobrazeny za hodinama')"> <div id="linetop"></div> Ten parametr je prom. location. Přidal jsem ho za ty hodiny v tom js. Ale co se nestane. ve chvíli, kdy se stránka načítá, se to zobrazí tak jak to má bejt. Tedy "10:28:52-text zobrazeny za hodinama". Ale hned po tom se to zobrazi takto: "10:28:52-undefined"... nevim v cem je problem, dikys
  2. Důvod je jasný: t = setTimeout('startTime()',500) Tedy voláš startTime bez parametru, tudíž se zobrazí undefined. Řešení: 1. Musíš tam dodat proměnnou s textem, se kterým voláš funkci startTime 2. Ten text musí být globální proměnná - zvolil jsem "pom" var pom function startTime(location) { var today = new Date() var h = today.getHours() var m = today.getMinutes() var s = today.getSeconds() pom = location // add a zero in front of numbers<10 m = checkTime(m) s = checkTime(s) document.getElementById('linetop').innerHTML=h+":"+m+":"+s+"-"+pom t = setTimeout('startTime(pom)',500) }
  3. ajoooooooooooooo! nevsim jsem si toho :D dikys moc
  4. ale je tu problem! kdyz jsem to udelal takhle: function startTime(location) { var today = new Date() var h = today.getHours() var m = today.getMinutes() var s = today.getSeconds() // add a zero in front of numbers<10 m = checkTime(m) s = checkTime(s) document.getElementById('linetop').innerHTML=h+":"+m+":"+s+"-"+location t = setTimeout('startTime(location)',500) } tak to zobrazi cas a k tomu (!nevim proc!) adresa ty stranky na ktery to mam! strasny
  5. Schválně jsem ti napsal kompletní funkční řešení. Location je vyhražené slovo.
  6. uz konecne.. dikys

← Zpět na všechna témata