Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: setInterval

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    setInterval

    ciao a tutti, non riesco a far funzionare questo setInterval e non capisco perchè, mi dareste una mano
    codice:
    var intervalID;
    function rollOutClip() {
    	path = targetPath(this)
    	stringa = path.split("miomenu").join("sotto");
    	stringa = stringa.split(".attivo");
    	newpath = stringa[0];
    	//trace(newpath)
    	setProperty(newpath,_visible,false);
    	campo.testo.textColor = 0x9B6717;
    	clearInterval( this.intervalID )
    }
    poi la richiamo cosi
    codice:
    _root["miomenu"+i].attivo.onRollOut = function(){intervalID = setInterval(rollOutClip, 1000);}


  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    tutti i riferimenti mi fanno pensare a
    codice:
    _root["miomenu"+i].attivo.onRollOut = function(){intervalID = setInterval(_root.rollOutClip, 1000);}

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    grazie mille ho provato ma nulla mi spiego meglio.

    in pratica quando passo sopra al pulsante innesco questa funzione
    codice:
    _root["miomenu"+i].attivo.onRollOver = rollOverClip;
    che fa aprire un sottomenu, e funziona, adesso io vorrei che se esco dall'area attiva del pulsante
    codice:
    _root["miomenu"+i].attivo.onRollOut = function(){intervalID = setInterval(_root.rollOutClip, 1000);}
    il sottomenu scompare dopo un tot di secondi solo che non funziona...
    se faccio inceve cosi
    codice:
    _root["miomenu"+i].attivo.onRollOut = rollOutClip;
    senza il setInterval funziona

    quindi il problema è nel setInterval

    :master:

    PS: se vuoi ti posso passare il fla per capire...


    Grazie mille, è una settimana che ci provo

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Rossella_75
    PS: se vuoi ti posso passare il fla per capire...
    Grazie mille, è una settimana che ci provo
    non ho flash qui comunque ho capito quale è il tuo problema, proviamo così
    codice:
    function rollOutClip() {
    	path = targetPath(this)
    	stringa = path.split("miomenu").join("sotto");
    	stringa = stringa.split(".attivo");
    	newpath = stringa[0];
    	//trace(newpath)
    	setProperty(newpath,_visible,false);
    	campo.testo.textColor = 0x9B6717;
    }
    
    _root["miomenu"+i].attivo.onRollOut = function(){
    	_root[this._name] = setInterval(function(){
    					_root.rollOutClip();
    					clearInterval(_root[this._name]);
    				}, 1000);
    }

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    grande adesso scompare solo che scompare anche il menu principale dopo un secondo

    guarda ti posto tutto il codice nel fla non c'è altro

    codice:
    // caricamento del file php che restituisce la lista dei menu principali
    System.useCodepage = true; 
    function menu() {
        var dati:LoadVars = new LoadVars();
        dati.onLoad = function(success) {
    		if (success){
    				// larghezza e altezza dei singoli menu
    				var lar = 142;
    				var alt = 50;
    				myArray = new Array;
        	    	// ciclo i dati un numero di volte tante quanti saranno i risultati
            		for (var i:Number = 0; i<this.totale; i++) {
                		// assegno i dati caricati all'oggetto myArray[i]
                    		id = this["id"+i];
                    		menu = this["mainmenu"+i];
    						//trace ("ID= "+id+" MENU: "+menu)
    						//Attacco la clip menu sullo stage
    						_root.attachMovie( "mainmenu", "miomenu"+i, i );
    						// Dispongo la clip menu
    						//trace(_root["miomenu"+i]._name)
    						_root["miomenu"+i]._x = lar*i;
    						// Inserisco il testo nel campo
    						_root["miomenu"+i].campo.testo.text = menu;
    						sottomenu(id,lar*i,id)
    						_root["miomenu"+i].attivo.onRelease = releaseClip;
    						_root["miomenu"+i].attivo.onRollOver = rollOverClip;
    						//_root["miomenu"+i].attivo.onRollOut = rollOutClip;
    						_root["miomenu"+i].attivo.onRollOut = function(){_root[this._name] = setInterval(function(){_root.rollOutClip();clearInterval(_root[this._name]);}, 1000);}
    						//trace (_root["miomenu"+i])
            		}
    			}
        	};
        dati.load("menu.txt");
    }
    menu();
    
    // caricamento del file php che restituisce la lista dei menu principali
    function sottomenu(identificati,posizione,num) {
        var dati_sotto:LoadVars = new LoadVars();
        dati_sotto.onLoad = function(caricato) {
    		if (caricato){
    				// larghezza e altezza dei singoli menu
    				var lar = 142;
    				var alt = 28;
    				myArray = new Array;
    				prof = 1500+num
    				num-=1;
    				scatola = _root.createEmptyMovieClip("sotto"+num,prof)
    				//trace (scatola)
        	    	// ciclo i dati un numero di volte tante quanti saranno i risultati
            		for (var m:Number = 0; m<this.totale; m++) {
                		// assegno i dati caricati all'oggetto myArray[i]
    					if(this["id_menu"+m] == identificati){
                    		id = this["id_menu"+m];
                    		menu = this["nome_sottomenu"+m];
    						//trace ("ID= "+id+" MENU: "+menu)
    						//Attacco la clip menu sullo stage
    						profondita = num*100 + m;
    						scatola.attachMovie( "nome_sottomenu", "nome_sottomenu"+num+m, profondita);
    						// Dispongo la clip menu
    						//trace(scatola["nome_sottomenu"+num+m]._name)
    						scatola["nome_sottomenu"+num+m]._y = 49+(alt*m);
    						scatola["nome_sottomenu"+num+m]._x = posizione;
    						// Inserisco il testo nel campo
    						scatola["nome_sottomenu"+num+m].campo.testo.text = menu;
    						// comandi per clip
    						scatola["nome_sottomenu"+num+m].sottoattivo.onRelease = releaseClipsotto;
    						//scatola["nome_sottomenu"+num+m].sottoattivo.onRollOver = rollOverClipsotto;
    						//scatola["nome_sottomenu"+num+m].sottoattivo.onRollOut = rollOutClipsotto;
    						scatola._visible = false;
            			}
    				}
    			}
        	}
        dati_sotto.load("sotto_menu"+num+".txt");
    }
    
    // Creo la funzioni per controllare le clip del menu
    function rollOverClip() {
    	path = targetPath(this)
    	stringa = path.split("miomenu").join("sotto");
    	stringa = stringa.split(".attivo");
    	newpath = stringa[0];
    	//trace(newpath)
    	setProperty(newpath,_visible,true);
    	campo.testo.textColor = 0xFFFFFF;
    }
    function rollOutClip() {
    	path = targetPath(this)
    	stringa = path.split("miomenu").join("sotto");
    	stringa = stringa.split(".attivo");
    	newpath = stringa[0];
    	//trace(newpath)
    	setProperty(newpath,_visible,false);
    	campo.testo.textColor = 0x9B6717;
    }
    function releaseClip() {
    	path = targetPath(this)
    	stringa = path.split("miomenu").join("sotto");
    	stringa = stringa.split(".attivo");
    	newpath = stringa[0];
    	//trace(newpath)
    	setProperty(newpath,_visible,true);
    }
    // Creo la funzioni per controllare le clip del menu
    function rollOverClipsotto() {
    	path = targetPath(this)
    	trace(path) // _level0.sotto3.nome_sottomenu30.sottoattivo
    	stringa = path.split(".nome_sottomenu30.sottoattivo");
    	newpath = stringa[0];
    	trace(newpath)
    	setProperty(newpath,_visible,true);
    }
    function rollOutClipsotto() {
    	path = targetPath(this)
    	trace(path) // _level0.sotto3.nome_sottomenu30.sottoattivo
    	stringa = path.split(".nome_sottomenu30.sottoattivo");
    	newpath = stringa[0];
    	trace(newpath)
    	setProperty(newpath,_visible,false);
    }
    function releaseClipsotto() {
    	path = targetPath(this)
    	trace(path) // _level0.sotto3.nome_sottomenu30.sottoattivo
    	stringa = path.split(".nome_sottomenu30.sottoattivo");
    	newpath = stringa[0];
    	trace(newpath)
    	setProperty(newpath,_visible,false);
    }


    Grazie mille, ti prego dammi una mano altrimenti


  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Rossella_75
    grande adesso scompare solo che scompare anche il menu principale dopo un secondo
    penso che il problema stia nel fatto che non spegne l'intervallo, prova a sostituire a quello che ti ho dato

    codice:
    _root["miomenu"+i].attivo.onRollOut = function(){
    	this.a = setInterval(function(){
    					_root.rollOutClip();
    					clearInterval(this.a);
    				}, 1000);
    }

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    mm... ho scritto come mi hai detto ma spegne tutto...
    codice:
    _root["miomenu"+i].attivo.onRollOut = function(){this.a = setInterval(function(){_root.rollOutClip();clearInterval(this.a);}, 1000);}
    :master:

    sto impazzendo

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Rossella_75
    mm... ho scritto come mi hai detto ma spegne tutto...
    codice:
    _root["miomenu"+i].attivo.onRollOut = function(){this.a = setInterval(function(){_root.rollOutClip();clearInterval(this.a);}, 1000);}
    :master:

    sto impazzendo
    che casìno, bisogna andare a tentoni, prova a levare il this e lasciare solo a

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    non và

    dici che ho fatto male il menu...

    il mio progetto è di realizzare un menu a tendina dinamico... è il primo che faccio, secondo te ho sbagliato ad impostarlo cosi


  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Rossella_75
    non và

    dici che ho fatto male il menu...

    il mio progetto è di realizzare un menu a tendina dinamico... è il primo che faccio, secondo te ho sbagliato ad impostarlo cosi

    quel setProperty mi stona parecchio

    comunque non sei la prima che vuola fare 'sta cosa, mi stai facendo venir voglia di provare a realizzarlo, è una cosa urgente?

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.