[JS] Div box verplaatsen

Pagina: 1
Acties:

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<style>
#if_background
{
    position:absolute; 
    top:  0;
    left:0;
}
</style>

<script language="JavaScript">
function doMove()
{
    document.getElementById("if_background").style.top -= 10;

    setTimeout("doMove()", 1000);
}
</script>

<div id="if_background">
    [img]'http://www.pakspul.nl/global/templates/images/background.jpg'>
</div>


<script[/img]doMove();</script>


Ik heb dit in elkaar gepruts maar hij beweegt één keer en daarna geeft hij een fout. Hij geeft daarna de fout bij
code:
1
    document.getElementById("if_background").style.top -= 10;

Maar de eerste keer gaat die wel goed. :?

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

Wat voor fout geeft hij dan?

Sole survivor of the Chicxulub asteroid impact.


Verwijderd

Ik doe het anders maan kan je niet gewoon:

[code]
document.getElementById('if_background'').style.left = document.getElementById('if_background'').style.left - 10;
[/code
Is dat niet een oplossing dat ie bij jouw wel blijft werken ?

[ Voor 26% gewijzigd door Verwijderd op 06-10-2005 09:32 . Reden: Goede namen ]


  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 02-01 15:55
Dat is niet zo gek want style.top is namelijk een String en geen Integer. Tevens wordt er achter het getal 'px' (pixels) gezet als je geen eenheid opgeeft. Je moet het getal er dus uitfilteren en dan kan je het pas aanpassen.

If I can't fix it, it ain't broken.


Verwijderd

Je bent zowiezo verplicht om de toekenning te voorzien van 'px' anders gaat oa Gecko over zijn nek.

Kortom, een parseInt(string) + 'px';

  • André
  • Registratie: Maart 2002
  • Laatst online: 28-04 11:43

André

Analytics dude

code:
1
document.getElementById("if_background").style.top -= 10;

Dit gaat nooit werken, -= werkt niet op een string ;)

Probeer het eens zo:
code:
1
2
t = document.getElementById("if_background");
t.style.top = (parseInt(t.style.top) - 10) + "px";

Verwijderd

code:
1
2
3
4
5
6
7
8
<script language="JavaScript">
function doMove()
{
    document.getElementById("if_background").style.top -= 10;

    setTimeout("doMove()", 1000);
}
</script>
ow sorry ben nog niet geheel wakker....
maar netjes is het niet...

[ Voor 34% gewijzigd door Verwijderd op 06-10-2005 09:53 ]


  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 02-01 15:55
Verwijderd schreef op donderdag 06 oktober 2005 @ 09:41:
[...]

ik denk dat ie vast loopt bij een oneindige loop, want je spreekt die functie in een functie aan, wat volgens mij niet helemaal zo goed gaat...
Dat is onzin, er is geen sprake van een loop er wordt gewoon een timeout gezet om de functie na 1 seconde nogmaals uit te voeren.

If I can't fix it, it ain't broken.


  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
code:
1
2
3
4
5
6
7
function doMove()
{
    el = document.getElementById("if_background");
    el.style.top = (parseInt(el.style.top) - 10) + "px";

    setTimeout("doMove()", 1000);
}


Ik gebruik nu deze functie en hij zegt nu, Invalid argument
Pagina: 1