Autor Zpráva
Anonymny
Profil *
v Hlavicke mam :

function moveTo() {
		el=document.getElementById('box');
		if(el) {
			el.style.marginLeft='10px';
		}


html:

 <div id="box" style="width:100px;height:100px;background:black;"></div>
	<input type="button" value="Posuň doprava" onClick="moveTo();"></input>


A problem je v tom ze to nejde...
Neviete preco? Dakujem.
Yur4Y
Profil
Chýba ukončovacia zátvorka }. Použite Error Console vo Firefoxe - Ctrl+Shift+J.
Chamurappi
Profil
Reaguji na Anonymnyho:
Místo nekompletních úryvků kódu dávej odkaz na živou ukázku.
Nazvat si funkci „moveTo“ mi nepřipadá moc rozumné.
Anonymny
Profil *
Yur4Y:
Aha dakujem uz to ide. Ale funkcia sa vykona iba raz... preco? Ja chcem aby sa ten box posuval stale ked kliknem na button...


Chamurappi:
Ok.
fajzen
Profil
Anonymny:
Ale funkcia sa vykona iba raz
To nie je pravda, funkcia sa vykoná toľko krát, koľko krát klikneš na button... akurát že vždy nastaví margin-left na 10px, takže druhý a ďalší krát už nič nie je vidieť

Ak by si chcel, aby sa box posúval stále, musela by funkcia vyzerať nejak takto:
function doprava() {
  el=document.getElementById('box');
  if(el) {
    if(el.style.marginLeft) {
      el.style.marginLeft = (parseInt(el.style.marginLeft, 10) + 10) + 'px';
    } else {
      el.style.marginLeft='10px';
    }
  }
}
Anonymny
Profil *
fajzen:
to nefunguje.

Naco je prosimta parseInt?
fajzen
Profil
Anonymny:
Divné, mne to funguje... všimol si si, že som funkciu premenoval? treba v inpute zmeniť onclick na "doprava()"

Naco je prosimta parseInt?
parseInt vyberie z reťazca číslo, ktoré je na začiatku... el.style.marginLeft obsahuje reťazec 10px, nie len 10, takže parseInt z neho vyberie 10...
peta
Profil
Anonymny:
"to nefunguje" - link na stranku, mas jiny kod
Pravdepodobne tam bude problem s jednotkami a doctype.
Tez muzes zkusit parseInt(el.style.marginLeft) bez te 10

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: