Autor Zpráva
gogy27
Profil
Zdravim,
mam nasledujuci skript avsak neviem, kde je chyba, pretoze mi nechce vypisat cas (teda stopky). Dakujem za pomoc
<script language="JavaScript">
<!-- 
var timerRunning = true
var timerID = null
var initial = new Date()
function showTimer {    
    startTime = initial.getTime()
        var current = new Date()    
        var curTime = current.getTime()    
    dif = curTime - startTime    
    Number = dif / 1000
     result = Number.toFixed(1)
        if (result < 1)        
        result = "0" + result        
        result = result.toString()    
        if (result.indexOf(".") == -1)        
        result += ".0"            
        
        timerRunning = true
if (document.getElementById) { document.getElementById('theTime').innerHTML = result; }
else if (document.layers) {
 document.layers.theTime.document.write(result);
 document.layers.theTime.document.close(); }
 timerID = setTimeout("showTimer()", 100);
        }
    window.onload = showTimer;
         
// -->

<body>
<span id="theTime" style="position:absolute; left:10; top:10; font-family: arial; font-size: 9pt"></span>
  </body>
margin
Profil *
gogy27:
neviem, kde je chyba
Jednu chybu jsem našel, chybí ti koncová značka elementu SCRIPT, ale chyb tam máš více.
Radek9
Profil
gogy27:
Tak takovýhle paskvil jsem snad ještě neviděl…

Jednotlivé řádky:
2: Zbytečnost
6: Za showTimer mají být kulaté závorky.
7: Před startTime by měl být var (pokud tu proměnnou nechce globální).
10: To samé.
11: Number je globální objekt. Proč se ho snažíš přepsat?
12, 19: Zase chybí var.
20: Myslím, že tahle podmínka není potřeba. Tahle funkce je snad podporovaná už všude.
Tzn., že můžeš vyhodit řádky 21-23
28: Zbytečnost. A tady by se hodil ten uzavírací tag, jak pravil margin.
gogy27
Profil
Dakujem, som zaciatocnik, takze sa len ucim a na prikladoch to je najlepsie.
Prepisal som to takto, cas sa stale neukaze:
<script language="JavaScript">
var timerRunning = true
var timerID = null
var initial = new Date()
function showTimer (    
    var startTime = initial.getTime()
        var current = new Date()    
        var curTime = current.getTime()    
    var dif = curTime - startTime    
    Number = dif / 1000
      var result = Number.toFixed(1)
        if (result < 1)        
        result = "0" + result        
        result = result.toString()    
        if (result.indexOf(".") == -1)        
        result += ".0"        
        return result    
        
        var timerRunning = true
    document.getElementById('theTime').innerHTML = result;
    timerID = setTimeout("showTimer()", 100);
     )
    window.onload = showTimer;
</script>
  <body>
<span id="theTime" style="position:absolute; left:10; top:10; font-family: arial; font-size: 9pt"></span></body>
_es
Profil
gogy27:
Neaplikoval si všetky rady z [#3]. Príkazy sa v JS oddeľujú bodkočiarkami. Síce sa to môže nahradiť zalomením riadka, no niekedy pritom môže vzniknúť ťažko odhaliteľná chyba. Pozri si niekde, na čo slúži príkaz return. Okrem toho tam je veľa ďalších divností, ktoré sa mi nechce vypisovať. Prečo si niekde nenájdeš niečo funkčné a s lepším kódom?
gogy27
Profil
_es:
co som neaplikoval? Funkciu return teda môžem vyhodiť? Prikazy som si uz oddelil bodkociarkou. Dalo by sa este nejako pomoct? A preco nie lepsi? Snazim sa urobit si to sam aby som pochopil, nie zbytocne stahovat prespekulovane programy.
_es
Profil
gogy27:
co som neaplikoval?
Napríklad 11.

Funkciu return teda môžem vyhodiť?
Return nie je funkcia: https://developer.mozilla.org/en/JavaScript/Reference/Statements/return alebo aj Funkce (jakpsatweb.cz)

Snazim sa urobit si to sam aby som pochopil
Keď nerozumieš, čo rôzne metódy a príkazy v tvojom kóde robia, ako si sa k nim dostal?
gogy27
Profil
_es:
var result = Number.toFixed(1) -> toto som si myslel, ze do premennej number si dosadit nejaku hodnotu a potom ju dam do premenej result, ale tak, aby mi ju zaokruhlilo iba na 1 desatinne miesto.

"Return nie je funkcia: https://developer.mozilla.org/en/JavaScript/Reference/Statements/return alebo aj Funkce (jakpsatweb.cz)"
Ano, nie je to funkcia, zle som sa vyjadril. Skratka som si myslel, ze s nou docielim, že funkcia mi vrati vysledok result.

"Keď nerozumieš, čo rôzne metódy a príkazy v tvojom kóde robia, ako si sa k nim dostal?"
Prepisujem si funkciu nasho ucitela, a vacsinu z tychto danych metod nam vysvetloval.
_es
Profil
gogy27:
Prepisujem si funkciu nasho ucitela
Tak by bolo asi najlepšie s tým prepisovaním začať od začiatku a hentie zmršené kódy zahodiť. Tá učiteľova funkcia funguje?

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: