Salve,
Chiedo se sia possibile avviare una funzione ( in questo caso di un cronometro) da due elementi separati e distinti (due button per avviare il timer).
Vorrei evitare di creare diversi file per uno script..
Cordiali saluti,
Marco.
Salve,
Chiedo se sia possibile avviare una funzione ( in questo caso di un cronometro) da due elementi separati e distinti (due button per avviare il timer).
Vorrei evitare di creare diversi file per uno script..
Cordiali saluti,
Marco.
Ciao, ti rispondo banalmente "sì", questo è lo scopo per cui esistono le funzioni.
Quando definisci una funzione sulla tua pagina (o su uno script esterno opportunamente incluso nella pagina) non fai altro che definire un oggetto funzione (cioè un insieme di istruzioni) che può essere eseguito (in linea di massima) quando, dove, e quante volte vuoi dentro la tua pagina (o progetto), attraverso semplici chiamate alla funzione stessa. Ovviamente se lo script è esterno può essere incluso in pagine distinte e la stessa funzione può essere tranquillamente richiamata da elementi differenti.
E' chiaro che bisogna poi vedere nel dettaglio se tale funzione sia definita a livello globale e sia quindi accessibile da qualsiasi area di validità sul tuo progetto, e valutare cosa realmente accade o ti aspetteresti che accada dentro quella funzione.
Sono comunque nozioni fondamentali della programmazione ad oggetti (JavaScript rientra in questo ambito), consiglio di dare uno sguardo a qualche guida di base, materiale che trovi facilmente con qualche googleata, o anche con qualche ricerca sul forum.
Buon proseguimento![]()
Installa Forum HTML.it Toolset per una fruizione ottimale del Forum
Chiaro ma ti ho già risposto:Originariamente inviata da Marcoingrande
Prova a definire la funzione in modo nominale, cioè usando un nome-funzione, e usa questa sia per il callback del setTimeout sia direttamente per le normali chiamate.Originariamente inviata da KillerWorm
Se non ci mostri il codice che hai sotto mano o la pagina pubblica dove risiede tale problema (vedi regolamento di sezione), difficilmente ti si potrà indirizzare nel giusto modo per poter risolvere il problema.
Installa Forum HTML.it Toolset per una fruizione ottimale del Forum
Allora il codice in questione è questo:
codice:function cronometro(){ if(stop == false) { decimi++; if(decimi > 9) { decimi = 0; secondi++; } if(secondi > 59) { secondi = 0; minuti++; } if(minuti > 59) { minuti = 0; ore++; } a=minuti; b=ore; var c=decimi; mostra(); setTimeout("cronometro()", 100); } } function mostra() { vis = ore + ":"; if(minuti < 10) vis = vis + "0"; vis = vis + minuti + ":"; if(secondi < 10) vis = vis + "0"; vis = vis + secondi + ":" + decimi; document.getElementById("vis").innerHTML = vis; }