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

    funzione usata nello stesso momento da due elementi js

    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.

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    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

  3. #3
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    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
    Ciao KillerWorm,
    ti ringrazio per la risposta innanzitutto.. Grazie anche per le nozioni anche se già lo sapevo..
    Il discorso qui è che lo script cronometro usa settimeout che quindi a parer mio non la rende accessibile alle altre...

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,780
    Quote Originariamente inviata da Marcoingrande
    Il discorso qui è che lo script cronometro usa settimeout che quindi a parer mio non la rende accessibile alle altre...
    Chiaro ma ti ho già risposto:
    Quote Originariamente inviata da KillerWorm
    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.
    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.

    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

  5. #5
    Quote Originariamente inviata da KillerWorm Visualizza il messaggio
    Chiaro ma ti ho già risposto:

    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.

    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.
    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;  
    }

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.