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

    Lancio Funzione a due condizioni

    Ho un grosso problema da risolvere che mi sta facendo impazzire:

    ho bisogno di lanciare una funzione es. esegui();

    quello che mi serve e che la funzione deve essere lanciata in base a due condizioni differenti.....quindi la condizione soddisfatta per prima esclude l'altra.

    la prima condizione da tenere in considerazione è il tempo:
    (lo metto giù in "Italiano" per capirci)

    - se sono trascorsi più di 30 sec. esegui();

    seconda condizione:

    - se miavariabile = "completata" esegui();

    Sto impazzendo con setTimeout ecc...ma non riesco...
    qualcuno sa darmi qualche suggerimento...

    Grazie mille a tutti

  2. #2
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="it" xml:lang="it">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Test</title>
    <script type="text/javascript">
    var miavariabile = "";
    var TimerCheckMiaVariabile;
    var TimerTrentaSecondi;
    function SetMiaVariabile() {
        miavariabile = "completata";
    }
    function ControllaMiaVariabile() {
        if (miavariabile == "completata") {
            clearTimeout(TimerCheckMiaVariabile);
            clearTimeout(TimerTrentaSecondi);
            esegui("Funzione eseguita da miavariabile=\"completata\"");
        }
    }
    function TempoScaduto() {
        clearTimeout(TimerCheckMiaVariabile);
        clearTimeout(TimerTrentaSecondi);
        esegui("Funzione eseguita per tempo scaduto");
    }
    function esegui(messaggio) {
        document.getElementById("risultato").innerHTML = messaggio;
    }
    function Riparti() {
        miavariabile = "";
        clearTimeout(TimerCheckMiaVariabile);
        clearTimeout(TimerTrentaSecondi);
        TimerCheckMiaVariabile = setInterval(ControllaMiaVariabile, 50);
        TimerTrentaSecondi = setTimeout(TempoScaduto, 30000);
        document.getElementById("risultato").innerHTML = "Attendi 30 secondi ...";
    }
    window.onload=function(){
        // ogni 50 millisecondi vado a vedere miavariabile
        TimerCheckMiaVariabile = setInterval(ControllaMiaVariabile, 50);
        // dopo 30 secondi eseguo TempoScaduto
        TimerTrentaSecondi = setTimeout(TempoScaduto, 30000);
    }
    </script>
    </head>
    <body>
    
    
    
    Se clic su pulsante, miavariabile viene messa a "completata"
    </p>
    <button onclick="SetMiaVariabile();" value="Setta Variabile">Setta Variabile</button>
    
    
    oppure,</p> 
    <div id="risultato">Attendi 30 secondi ...</div>
    
    
    
    Se vuoi ripartire, clicca su questo pulsante:
    </p>
     <button onclick="Riparti();" value="Riparti">Riparti</button>
    </body>
    </html>
    Adattala un po'

    HTH
    Zappa
    [PC:Presario 2515EU][Cpu:P4@2.3GHz][Ram: 512M][HDU:80G@5400 RPM]
    [Wireless:LinkSys][OS: Ubuntu 9.04 - Jaunty Jackalope]

  3. #3

    Re: Lancio Funzione a due condizioni

    Sei stato gentilissimo grazie! vedo di adattarla alle mie esigenze!!
    funziona bene!!

    ciao

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.