nappasin täältä ohjelmointiputkasta (kai) seuraavan koodin
<html> <head> <title>Kello JavaScriptillä</title> <script type = "text/javascript"> function Kello() { var aika = new Date(); var sekunnit = aika.getSeconds(); var tama_hetki = sekunnit; document.kello.aika.value = tama_hetki; setTimeout("Kello()", 1000); } </script> </head> <body onload = "Kello()"> <form name = "kello"> <input type = "text" name = "aika" size = "30" style = "border: 0px;"> </form> </body> </html>
nyt olen jonkin aikaa yrittänyt ohjelman tekemään vähän sitä sun tätä kun sekuntit ovat siinä ja siinä pisteessä (esim. kun sekuntteja on 55, tulee alert ja huutaa: "nyt!!").
olen yrittänyt vähän vaikka mitä tapoja laittamalla esim.
if(tama_hetki == "30") { alert("nyt"); }
tai:
if(document.kello.aika.value == "30") { alert("nyt!!") }
- kyllä, olen yrittänyt ottaa heittomerkit pois
- kyllä olen yrittänyt jok'ikisen document.jotain.value tilpehöörin läpi kuudesti
- kyllä olen 14 vuotias vasta-alkaja
- ei, en ole löytänyt mistään kyseiseen probleemaan vastausta (en ole kysynytkään ennen kuin nyt)
- kyllä olen tallentanut .html muotoon xD
- ja en muista mistä/keneltä tuon koodin repäisin!
elikkä apua tarvittaisiin.
EDIT: vähäsen värkkäsin, ja sain toimimaan xD (piti laittaa se if-lauseke funktion sisään >_<)
eli ratkaistu juttu :P
Joo no mäkin jo ihmettelin että mikä ongelma on, kun testasin seuraavalla ja hyvin toimi:
<html><head> <title>Kello JavaScriptillä</title> <script type = "text/javascript"> function Kello() { var aika = new Date(); var sekunnit = aika.getSeconds(); var tama_hetki = sekunnit; document.kello.aika.value = tama_hetki; if(tama_hetki == 30) { alert("nyt"); } setTimeout("Kello()", 1000); } </script></head> <body onload = "Kello()"> <form name = "kello"> <input type = "text" name = "aika" size = "30" style = "border: 0px;"> </form> </body></html>
UnderSTreet kirjoitti:
olen yrittänyt vähän vaikka mitä tapoja laittamalla esim.
Mihin tarkkaan ottaen laitoit tuon tarkistuksen? Edit: Olinpa hidas.
Tuosta koodipätkästä löytyy muuten muutama hyvä esimerkki siitä, miten asioita ei kannata tehdä.
- Älä laita välejä yhtäsuuruusmerkin ympärille HTML:ssä: ei name = "kello"
vaan name="kello"
.
- Ei näin:
setTimeOut("Kello()", 1000);
vaan näin:
setTimeOut(Kello, 1000);
- Lisäksi IMO hyvä tapa on aloittaa tavallisten funktioiden nimet pienellä alkukirjaimella ja konstruktoreiden isolla, eli ei Kello
vaan kello
.
http://javascript.crockford.com/code.html:
Constructor functions which must be used with the new prefix should start with a capital letter. JavaScript issues neither a compile-time warning nor a run-time warning if a required new is omitted. Bad things can happen if new is not used, so the capitalization convention is the only defense we have.
itte olisin varmaan laittanutkn kello, enkä Kello, mutten tehnyt tota koodia :P
Aihe on jo aika vanha, joten et voi enää vastata siihen.