Visualizzazione dei risultati da 1 a 5 su 5

Discussione: setInterval

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    98

    setInterval

    Ciao a tutti,

    ho fatto una funzione che mi prende dati da un db tramite un file php e mi popola dei campi di testo non essendo un genio di programmazione dovrei risolvere un problemino,
    al passare di un'altra variabile chiamiamola controllo questo script o dovrebbe fare quello che fa una volta soltanto oppure dovrebbe farlo ciclicamente ogni tot tempo, ho visto che esiste il setinterval ma non riesco ad applicarlo alla function success dello script:


    loader = new LoadVars();
    loader.load("test.php");
    loader.onLoad = function(success) {
    _root.datapartita.text = "";
    _root.home.text = "";
    _root.away.text = "";
    _root.punteggiohome.text = "";
    _root.punteggioaway.text = "";
    if(success)
    {
    if(this.ok)
    {
    _root.datapartita.text += eval("this.datapartita");
    _root.home.text += eval("this.home");
    _root.away.text += eval("this.away");
    _root.punteggiohome.text += eval("this.punteggiohome");
    _root.punteggioaway.text += eval("this.punteggioaway");
    }
    }
    else
    {
    _root.datapartita.text = "";
    _root.home.text = "";
    _root.away.text = "";
    _root.punteggiohome.text = "";
    _root.punteggioaway.text = "";
    }
    }


    qualcuno sa darmi una mano

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    98
    SCUSATE SONO RIUSCITO A FARLO ANDARE PERò VORREI PRENDERE LA VARIABILE ACCESO DAL PHP E NON VORREI LANCIARE PIU VOLTE IL FILE PER NON GENERARE TROPPO TRAFFICO QUALCUNO LO SA MIGLIORARE QUESTO SCRIPT.

    GRAZIE



    function tabellone(){
    loader = new LoadVars();
    loader.load("db.php");
    loader.onLoad = function(success) {
    _root.datapartita.text = "";
    _root.home.text = "";
    _root.away.text = "";
    _root.punteggiohome.text = "";
    _root.punteggioaway.text = "";
    if(success)
    {
    if(this.ok)
    {
    _root.datapartita.text += eval("this.datapartita");
    _root.home.text += eval("this.home");
    _root.away.text += eval("this.away");
    _root.punteggiohome.text += eval("this.punteggiohome");
    _root.punteggioaway.text += eval("this.punteggioaway");
    }
    }
    else
    {
    _root.datapartita.text = "";
    _root.home.text = "";
    _root.away.text = "";
    _root.punteggiohome.text = "";
    _root.punteggioaway.text = "";
    }
    }
    }




    acceso=1;
    if (acceso==1) {
    tabellone();
    setInterval(tabellone,1000);

    }else{
    tabellone();
    }

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    evita il maiuscolo quando scrivi, equivale a gridare ed è fastidioso da leggere

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ho letto il tuo codice, l'ultima parte (quella con l'if) è praticamente inutile visto che gli assegni subito quel valore, la condizione non entrerà mai nell'else, ma solo nell'if, quindi puoi scrivere direttamente

    codice:
    function tabellone(){
    	loader = new LoadVars();
    	loader.load("db.php");
    	loader.onLoad = function(success) {
    		_root.datapartita.text = "";
    		_root.home.text = "";
    		_root.away.text = "";
    		_root.punteggiohome.text = "";
    		_root.punteggioaway.text = "";
    		if(success) {
    			if(this.ok) {
    				_root.datapartita.text += eval("this.datapartita");
    				_root.home.text += eval("this.home");
    				_root.away.text += eval("this.away");
    				_root.punteggiohome.text += eval("this.punteggiohome");
    				_root.punteggioaway.text += eval("this.punteggioaway");
    			}
    		} else {
    			_root.datapartita.text = "";
    			_root.home.text = "";
    			_root.away.text = "";
    			_root.punteggiohome.text = "";
    			_root.punteggioaway.text = "";
    		}
    	}
    }
    tabellone();
    setInterval(tabellone, 1000);
    ora se ho ben capito quello che ti serve in finale non è altro che un refresh costante (ogni secondo) dei campi di testo che stanno su _root, in tal caso il codice può andare bene così... magari per risparmiare risorse puoi evitare di riscrivere ogni volta l'onLoad (come fai ora ogni volta che richiami la funzione "tabellone()" ) e fare in questo modo

    codice:
    var loader = new LoadVars();
    loader.onLoad = function(success) {
    	_root.datapartita.text = "";
    	_root.home.text = "";
    	_root.away.text = "";
    	_root.punteggiohome.text = "";
    	_root.punteggioaway.text = "";
    	if(success) {
    		if(this.ok) {
    			_root.datapartita.text += eval("this.datapartita");
    			_root.home.text += eval("this.home");
    			_root.away.text += eval("this.away");
    			_root.punteggiohome.text += eval("this.punteggiohome");
    			_root.punteggioaway.text += eval("this.punteggioaway");
    		}
    	} else {
    		_root.datapartita.text = "";
    		_root.home.text = "";
    		_root.away.text = "";
    		_root.punteggiohome.text = "";
    		_root.punteggioaway.text = "";
    	}
    }
    loader.load("db.php");
    var a = setInterval(function(){loader.load("db.php");}, 1000);

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    98
    Grazie, lo provo avevo risolto ma sciupando risorse.

    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.