Autor | Zpráva | ||
---|---|---|---|
Alastor_Kopal Profil |
#1 · Zasláno: 15. 3. 2010, 20:34:26 · Upravil/a: Alastor_Kopal
<body onkeydown="klavesa(event);" onKeyUp="uvolneni(event);"> <script type="text/javascript"> function klavesa(event) { switch(event.keyCode) { // další důležité definice kláves case 32: odpocitej("5", "1"); break; }} var cislo = 0; var jedeme = 0; var pristup = document.getElementById("precti"); function pricti() { cislo = cislo + 1; pristup.innerHTML = cislo; pristup.style.width = cislo+"px"; } function odpocitej(sekundy, ruka) { if(jedeme == 0){ casovac1 = window.setInterval("pricti();", 500); jedeme = 1; }} function uvolneni (event){ if(event.KeyCode == 32){ clearTimeout(casovac1) jedeme = 0; cislo = 0; }} </script> <span id="precti" style="color: black; background: red; height: 20px; width: 10px;">nic</span> Zkoušel jsem všechno, ale nechce se to rozjet. Ten script by správně měl při držení mezerníku (32) přičítat k hodnotě proměnné cislo a zapisovat to do spanu pod ním |
||
_es Profil |
#2 · Zasláno: 15. 3. 2010, 21:50:10
Alastor_Kopal:
Premenná pristup bude mať hodnotu undefined , pretože ten element vtedy ešte neexistuje.
Pridaj za ten <span id="precti" ...:
<script>pristup = document.getElementById("precti");</script> var pristup; casovac1 nie je explicitne definovaná (cez var ).
Časovač je lepšie definovať v tvare: window.setInterval(pricti, 500)
|
||
Alastor_Kopal Profil |
#3 · Zasláno: 15. 3. 2010, 22:11:12
<body onkeydown="klavesa(event);" onKeyUp="uvolneni(event);"> <span id="precti" style="color: black; background: red; height: 20px; width: 10px;">nic</span> <script type="text/javascript"> pristup = document.getElementById("precti"); function klavesa(event) { switch(event.keyCode) { // další důležité definice kláves case 32: odpocitej("5", "1"); break; }} var cislo = 0; var jedeme = 0; var pristup; function pricti() { cislo = cislo + 1; pristup.innerHTML = cislo; pristup.style.width = cislo*10+"px"; } function odpocitej(sekundy, ruka) { if(jedeme == 0){ var casovac1 = window.setInterval(pricti, 500); jedeme = 1; }} function uvolneni (event){ if(event.KeyCode == 32){ clearTimeout(casovac1) jedeme = 0; cislo = 0; }} </script> mám dvě výhrady 1. nemění to šířku 2. neresetuje se to na začátek když pustím klávesu prostě jenom po zmáčknutí odpočítává |
||
_es Profil |
#4 · Zasláno: 15. 3. 2010, 22:19:39
Alastor_Kopal:
Premenná casovac1 musí byť definovaná mimo funkcií ako globálna (var casovac1; ) a v tých funkciách už používaná bez var .
Radšej si niekde naštuduj základy JS, alebo si na to kúp/požičaj nejakú vhodnú knihu. |
||
Alastor_Kopal Profil |
#5 · Zasláno: 15. 3. 2010, 22:39:03 · Upravil/a: Alastor_Kopal
jo jo javascript mi moc nejde a přitom sem přečetl už pár knih :-(
<body onkeydown="klavesa(event);" onKeyUp="uvolneni(event);"> <span id="precti" style="color: black; background: red; height: 20px; width: 10px;">nic</span> <script type="text/javascript"> pristup = document.getElementById("precti"); function klavesa(event) { switch(event.keyCode) { // další důležité definice kláves case 32: odpocitej("5", "1"); break; }} var cislo = 0; var jedeme = 0; var pristup; var casovac1; function pricti() { cislo = cislo + 1; pristup.innerHTML = cislo; pristup.style.width = cislo*10+"px"; } function odpocitej(sekundy, ruka) { if(jedeme == 0){ casovac1 = window.setInterval("pricti();", 500); jedeme = 1; }} function uvolneni(event){ if(event.KeyCode == 32){ clearTimeout(casovac1) jedeme = 0; cislo = 0; pristup.innerHTML = cislo; }} </script> nejde nejde |
||
_es Profil |
#6 · Zasláno: 15. 3. 2010, 22:49:50 · Upravil/a: _es
|
||
Alastor_Kopal Profil |
#7 · Zasláno: 15. 3. 2010, 23:07:59
<body onkeydown="klavesa(event);" onKeyUp="keyWasPressed(event);"> <span id="precti" style="color: black; background: red; height: 20px; width: 10px;">nic</span> <script type="text/javascript"> pristup = document.getElementById("precti"); function klavesa(event) { switch(event.keyCode) { // další důležité definice kláves case 49: odpocitej("5", "1"); break; }} var cislo = 0; var jedeme = 0; var pristup; var casovac1; function pricti() { cislo = cislo + 1; pristup.innerHTML = cislo; pristup.style.width = cislo*10+"px"; } function odpocitej(sekundy, ruka) { if(jedeme == 0){ casovac1 = window.setInterval("pricti();", 500); jedeme = 1; }} function keyWasPressed(evt){ if(evt.keyCode == 49){ window.clearInterval(casovac1); jedeme = 0; cislo = 0; pristup.innerHTML = cislo; }} </script> měl jsem ještě chybu v podmínce už jsem to opravil ale šířka pořád nenaskakuje (ale už se to přerušuje) |
||
Časová prodleva: 3 dny
|
|||
Alastor_Kopal Profil |
#8 · Zasláno: 18. 3. 2010, 16:02:21
<body onkeydown="klavesa(event);" onKeyUp="keyWasPressed(event);"> <span id="precti" style="color: black; background: red; height: 20px; width: 10px;">n</span> <script type="text/javascript"> var cislo = 0; var jedeme = 0; var pristup = document.getElementById("precti"); var casovac1; function klavesa(event) { switch(event.keyCode) { // další důležité definice kláves case 49: odpocitej("5", "1"); break; }} function pricti() { cislo = cislo + 1; pristup.innerHTML = cislo; pristup.style.width = cislo*10+"px"; } function odpocitej(sekundy, ruka) { if(jedeme == 0){ casovac1 = window.setInterval("pricti();", 500); jedeme = 1; }} function keyWasPressed(evt){ if(evt.keyCode == 49){ window.clearInterval(casovac1); jedeme = 0; cislo = 0; pristup.innerHTML = cislo; pristup.style.width = 50+"px"; }} </script> tohle ze mě vypadlo. Projel jsem to netbeansem a nestěžuje si ale pořád se to nerozšiřuje |
||
Časová prodleva: 14 let
|
0