ugrás a tartalomhoz

style.left paraméter állítása JSel

Anonymous · 2006. Feb. 8. (Sze), 19.47
szeretnék egy adott szélességű divben a két szélén lévő nyillal navigálni, hogy a divben lévő tartalom jobbra-balra mozogjon, így látszódjon szélesebb tartalom is.

function move(sideArrow) {

if ( sideArrow == 'left' ) {
document.getElementById('line').style.left += 10;
}
else {
document.getElementById('line').style.left -= 10;
}
}


Eddig jutottam, el tudom tolni, de csak egy egységet, utána nem csinál semmit. JSben nem vagyok valami nagy guru, ezért kérem a segítségeteket.
 
1

Megoldás

sly · 2006. Feb. 8. (Sze), 19.58
Valoszínüleg nem álítotad be a position tulajdonságot. Ezért nem hajlandó megmozdulni.

Példakód:
<div onclick="document.getElementById('line').style.left += 10;" style="position:absolute" id="line"> szöveg </div>
2

megmozdul

Anonymous · 2006. Feb. 8. (Sze), 20.07
félreérted, egyszer megcsinálja, de többször nem. nekem viszont olyan megoldás kellene, ami annyiszor csinálja meg, ahányszor a user rákattint a balra gombra...

a position relativra van beállítva
3

px

Bártházi András · 2006. Feb. 8. (Sze), 20.12
Lehet, hogy a += nem működik, mivel az eredeti érték nem szám, hanem sztring, pl. '10px'. A toInt vagy valami hasonló megoldást kell használni a számmá konvertáláshoz, majd miután hozzáadtak az értéket, nem árt utána írni megint, hogy 'px'.

-boogie-
4

Megoldás 2

sly · 2006. Feb. 8. (Sze), 20.29

function move(sideArrow) {
 OBline = document.getElementById('line')
 if ( sideArrow == 'left' ) {
  OBline.style.left = OBline.offsetLeft+10;
 } else {
  OBline.style.left = OBline.offsetLeft-10;
 }
}