Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    problema con la sintassi setTimeout

    devo fare una funzione che mi muova un oggetto gradualmente..credo debba usare setTimeout

    codice:
    function entra(idlink){
    	for(c=0;c<580;c++)
    	{
    		setTimeout(scala(idlink,c), 10);
    	}
    
    }
    
    function scala(){
    	document.getElementById(idlink).style.marginRight='c';
    
    }
    ho provato tutte le combinazioni di virgolette per passare i due parametri ma niente..anche cercando sul forum non ho trovato niente di aiuto..

    consigli?

  2. #2
    Utente di HTML.it L'avatar di Donovant
    Registrato dal
    Sep 2005
    residenza
    London
    Messaggi
    1,329
    Forse perchè " c " non è seguito da "px"... quindi prova :

    document.getElementById(idlink).style.marginRight= c+"px";

    anche se non so come funzioni lo scope della "c", sai percaso se anche se non passata in
    "function scala()" riesca a leggerla da "setTimeout(scala(idlink,c), 10);"
    In caso dovesse leggerla, allora dovrebbe funzionare.
    Beati gli smemorati, perchè avranno la meglio anche sui loro errori...

    My gallery: http://donovant.deviantart.com/gallery/

  3. #3
    codice:
    function entra(idlink){
    	for(c=0;c<580;c++)
    	{
    		setTimeout(scala(idlink,c), 10);
    	}
    
    }
    
    function scala(idlink,cont){
    	document.getElementById(idlink).style.marginRight=cont+"px";
    }
    avevo dimenticato i 2 parametri in scala..in ogni caso non funziona ancora!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.