Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    284

    percorso all' interno di una funzione

    ciao a tutti
    volevo togliermi una curiosità: allora io richiamo una funzione(mouse_out) all' interno di un evento onRollOver....che a sua volta imposta un setInterval che richiama un' altra funzione(canc_sottomenu)....perche dentro questa funzione trace(this) mi da undefined?
    qual' è il percorso a cui si riferisce la funzione?



    function mouse_out(){
    _global.a = setInterval (_root.canc_sottomenu, 1500);
    }

    function canc_sottomenu() {
    trace(this);
    clearInterval(a);
    }


    this.onRollOver=_root.mouse_out;

    //risposta del trace :undefined

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Ma dove lo hai messo questo script?

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    284
    Ciao Nega, ho fatto altre prove mettendo questo codice dentro il primo fotogramma di un clip istanziato come "prova" sulla _root:

    function mouse_over(){
    _global.a = setInterval (this.canc_sottomenu, 1500);
    }

    function canc_sottomenu() {
    trace("senza this :"+nome_variabile);
    trace("con this :"+this.nome_variabile);
    trace("this ="+this);
    clearInterval(a);
    }

    nome_variabile="ciao";
    this.onRollOver=this.mouse_over;

    this.onRollOut=function() {
    clearInterval(a);
    }

    //risultato del trace "senza this :ciao","con this :","this ="


    E' come se il percorso che mi dovesse mostrare il "this" fosse implicito........come se ci si trovasse dentro un with(this) con la limitazione pero di non poter utilizzare il this.nome_variabile
    non so se mi sono spiegato bene......se hai tempo prova questo codice su un Mc.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    1,037
    codice:
    function mouse_over()
    {
    	_global.a = setInterval(this, 'canc_sottomenu', 100);
    }
    function canc_sottomenu()
    {
    	trace("senza this :" + nome_variabile);
    	trace("con this :" + this.nome_variabile);
    	trace("this =" + this);
    	clearInterval(a);
    }
    nome_variabile = "ciao";
    this.onRollOver = this.mouse_over;
    this.onRollOut = function()
    {
    	clearInterval(a);
    };
    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    284
    innanzi tutto grazie ....poi un paio di delucidazioni:

    praticamente tratti "canc_sottomenu" come metodo del Mc?


    cmq per come l' avevo impostata io avrebbe dovuto funzionare....in teoria.......è un bug

    ma questa è una soluzione di ripiego o si fa proprio cosi?

    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.