Chyba niezrozumiale to przedstawilem. Wygląda to w ten sposob:
document.onkeydown = checkKeycode;
id=false;
function checkKeycode(e){
var keycode;
if (window.event) keycode = event.keyCode;
else if (e) keycode = e.which;
if(id == false)
{
switch(keycode)
{
case 37:wartosc = document.getElementById('divek').style.left;
wartosc=parseInt(wartosc);
document.getElementById('divek').getElementsByTagName('img')[0].src='element_1.gif';
zmiana=0;
if(id == false) {
id = setInterval(
function()
{
document.getElementById('divek').style.left=wartosc-5;
wartosc=wartosc-5;
zmiana=zmiana+5;
if(zmiana == 50)
{
clearInterval(id);
id = false;
document.getElementById('divek').getElementsByTagName('img')[0].src='element_0.gif';
zmiana=0;
}
}, 100)};break;
case 38:wartosc = document.getElementById('divek').style.top;
wartosc=parseInt(wartosc);
document.getElementById('divek').getElementsByTagName('img')[0].src='element_2.gif';
zmiana=0;
if(id == false) {
id = setInterval(
function()
{
document.getElementById('divek').style.top=wartosc-5;
wartosc=wartosc-5;
zmiana=zmiana+5;
if(zmiana == 50)
{
clearInterval(id);
id = false;
document.getElementById('divek').getElementsByTagName('img')[0].src='element_0.gif';
document.getElementById('divek').style.top=wartosc-2;
wartosc=0;
}
}, 100)};break;
case 39:wartosc = document.getElementById('divek').style.left;
wartosc=parseInt(wartosc);
document.getElementById('divek').getElementsByTagName('img')[0].src='element_3.gif';
zmiana=0;
if(id == false) {
id = setInterval(
function()
{
document.getElementById('divek').style.left=wartosc+5;
wartosc=wartosc+5;
zmiana=zmiana+5;
if(zmiana == 50)
{
clearInterval(id);
document.getElementById('divek').getElementsByTagName('img')[0].src='element_0.gif';
id = false;
wartosc=0;
}
}, 100)};break;
case 40:wartosc = document.getElementById('divek').style.top;
wartosc=parseInt(wartosc);
document.getElementById('divek').getElementsByTagName('img')[0].src='element_4.gif';
zmiana=0;
if(id == false) {
id = setInterval(
function()
{
document.getElementById('divek').style.top=wartosc+5;
wartosc=wartosc+5;
zmiana=zmiana+5;
if(zmiana == 50)
{
document.getElementById('divek').style.top=wartosc+2;
clearInterval(id);
document.getElementById('divek').getElementsByTagName('img')[0].src='element_0.gif';
id = false;
wartosc=0;
}
}
, 100);break;
}
}
}
}
Mam sobie taki o to skrypcik wlasnorecznie napisany. Powoduje ze:
1. Jest div z zawartoscia pierwotną
2. Div zmienia zawartosc gdy ktos wcisnie ktoras ze strzalek.
3. Interval sie w sobie nie zagniezdza.(warunek if (id=false) )
4. Po przejechaniu 50 px zawartosc znowu sie zmienia na pierwotną.
Chciałbym zeby jesli przycisk jest wcisniety to zawartosc sie nie zmieniala. To znaczy
Przejedzie 50 - > przycisk wciśnięty -> przejedzie 50 -> Przejedzie 50 - > przycisk wciśnięty -> przycisk puszczony -> zawartosc sie zmienia na pierwotną
Mysle ze lepiej wytlumaczylem