Optimering av javascript. Någon som är sugen?
Hej.
Jag gillar att skriva script och koder av olika slag.
När "programmet" fungerar som jag vill så vill jag alltid gör det så snabbt, okompleserat, och litet som möjligt, jag vill asså optimera koden.
Men i och med att jag inte är något proffs på något sätt så kan jag inte veta om jag har lyckats optimera det maximalt.
Jag undrar ifall det finns någon som är galen nog att denne har lust att optimera min kod. Inte för att jag är lat, utan för jag vill se olika anternativ av hur man kan skriva koden och så, lära mig helt enkelt hur bra man kan lyckas.
Jag har bara skrivit klart koden nu, så troligen finns det mycket att skriva om.
*Förklaring av programmet.*
Det är ett javascript.
Sidan innehåller en textbox som startar med stringen "xx:xx".
Det är meningen att man ska skriva in ett klockslag i boxen. ex. 13:37.
När man trycker på en siffra så ersätts ett x av denna siffran.
Så efter den första inskrivna siffran så bör det stå. "1x:xx". 1x:xx -> 13:xx osv...
Suddar man så ersätts den senaste inskrivna siffran av ett x. 13:3x -> 13:xx. osv...
Man kan inte skriva in klockslag som inte finns. som 24:01, 01:99. osv...
Jag upptäkte att jag inte fixat koden så att den funkar bra i IE. Det är Firefox som har gällt för mig. Men men, det kanske någon vill hjälpa med också
Jag har inte kommenterat koden. Hoppas det inte gör så mycket.
Tror inte jag missat något. Tack. Här kommer koden!
<script type="text/javascript">
var text=new Array();
text[0]=":";
text[1]="x";
text[2]="x";
text[3]="x";
text[4]="x";
var textarreynum = 1;
function check_klock()
{
if(text[1] > 2) {text[1] = 2;}
if(text[1] == 2 && text[2] > 4) {text[2] = 4;}
if(text[1] == 2 && text[2] == 4 && text[3] > 0) {text[3] = 0;}
if(text[1] == 2 && text[2] == 4 && text[3] == 0 && text[4] > 0) {text[4] = 0;}
if(text[3] > 5) {text[3] = 5;}
}
function setText()
{
document.all['a'].value = ""+text[1]+""+text[2]+""+text[0]+""+text[3]+""+text[4];
}
function timer()
{
text[0]=":";
check_klock();
setText();
if(textarreynum < 1)
{
textarreynum = 1;
}
if(textarreynum > 4)
{
textarreynum = 5;
}
min_timer = setTimeout("timer();",1)
}
function chartest(e)
{
var keychar;
if(window.event) // IE
{
keychar = e.keyCode;
}
else if(e.which) // Netscape/Firefox/Opera
{
keychar = e.which;
}
switch(keychar)
{
case 8 : text[textarreynum-1] = "x"; textarreynum--; break;
case 37 : break;
case 39 : break;
case 46 : break;
case 48 : text[textarreynum] = String.fromCharCode(keychar); textarreynum++; break;
case 49 : text[textarreynum] = String.fromCharCode(keychar); textarreynum++; break;
case 50 : text[textarreynum] = String.fromCharCode(keychar); textarreynum++; break;
case 51 : text[textarreynum] = String.fromCharCode(keychar); textarreynum++; break;
case 52 : text[textarreynum] = String.fromCharCode(keychar); textarreynum++; break;
case 53 : text[textarreynum] = String.fromCharCode(keychar); textarreynum++; break;
case 54 : text[textarreynum] = String.fromCharCode(keychar); textarreynum++; break;
case 55 : text[textarreynum] = String.fromCharCode(keychar); textarreynum++; break;
case 56 : text[textarreynum] = String.fromCharCode(keychar); textarreynum++; break;
case 57 : text[textarreynum] = String.fromCharCode(keychar); textarreynum++; break;
default : alert("Du får inte använda bokstäver i tiden");
}
}
</script>
<body onload="timer();">
<form>
<input name="a" type="text" onkeypress="chartest(event)" />
</form>
"SönderCrew" Is the shit