Javascript‎ > ‎

Animare un singolo valore

pubblicato 22 set 2010, 01:49 da Roberto Gambuzzi   [ aggiornato in data 31 mar 2011, 07:34 ]
Con questo script si puo animere un singolo valore di un oggetto preso per id.
function animateSingleVal(cosa, a, unita, tempo, callback) {
    if (cosa == null)
        return;
       
    da = parseInt(eval(cosa));
    if (isNaN(da))
        da = 0;       
   
    if (tempo>40)
    {       
        newda = da + ((a-da) * 40 / tempo); 
        eval(cosa+' = "'+parseInt(newda) + unita+'"');
        cmd = 'animateSingleVal("'+cosa+'",'+a+",'"+unita+"',"+(tempo-40)+","+callback+");";
        setTimeout(cmd,40);
    }
    else
    {
        eval(cosa+' = "'+parseInt(a) + unita+'"');
        if(callback != null)
            callback();
    }
}

l'utilizzo tipico è

function imaOver(nome) {
        animateSingleVal("document.getElementById('"+nome+"').style.width",160,"px",250);
}

cosa: è il valore da modificare
a : è il valore a cui arrivare con l'animazione
unita: è il tipo di unita del valore sda impostare
tempo: è il tempo in millisecondi da impiegare per arrivarvi
callback: è una funzione da chiamare ad animazione eseguita

Comments