Spostare DIV dinamicamente...come fare?

todo

Nuovo Utente
7 Mar 2005
14
0
0
Ciao,vorrei spostare un div dinamicamente incrementando di 10px ogni 2 secondi fino ad arrivare a 300px.Il codice che riporto dovrebbe essere giusto invece mi da errore!Solo commentando il setInterval non mi da errori...come posso fare?

function Sposta(div) {
var str = document.getElementById(div).style.left;
var startx = Number(str.replace("px",""));
if(startx < 300) {
document.getElementById(div).style.left = startx + 10;

setInterval(Sposta(div),2000);

}
}
 
se usi dreamweaver e i layer (div + javascritp), puoi animarlo con la linea temporale da elabora>linea temporale>registra percorso del livello.

buon lavoro :byebye:
 
Grazie mille per l'aiuto ma in realtà,vedendo il codice generato dalla "linea temporale",non penso che sia la soluzione più giusta....di sicuro la più facile e veloce.In realtà volevo studiare un sistema che non passasse tutte quelle coordinate...grazie ancora
Ciao
 
Non era male come idea

per i lettori futuri posta una mia soluzione
HTML:
<div id="muovi"> *** MRWebmaster *** </div>
<script type="text/javascript">
    var startx = 0;
    function Sposta(div) {        
        if(startx < 300) {
            document.getElementById(div).style.marginLeft = "+" + startx + "px";
            startx+=5;
            setTimeout("Sposta('" + div + "')",50);
        }
    } 
    Sposta('muovi');
</script>
Edit
non avevo letto bene 10px ogni 2 secondi
Ecco:
HTML:
<div id="muovi"> *** MRWebmaster *** </div>
<script type="text/javascript">
    var startx = 0;
    function Sposta(div) {        
        if(startx < 300) {
            document.getElementById(div).style.marginLeft = "+" + startx + "px";
            startx+=10;
            setTimeout("Sposta('" + div + "')",2000);
        }
    } 
    Sposta('muovi');
</script>
 
Ultima modifica:

Discussioni simili