Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022

    passaggio di variabile globale a funzione implicita

    Salve, ho un problema con un array globale dichiarato all'inizio di un movie clip: "_global.arrNomiThumbs[i]"
    Tale array funziona in tutto il codice, ma diventa del tutto undefined quando lo richiamo in una funzione implicita come la seguente.

    codice:
    eval("MClavoro" + i).onRelease = function() {
    					 		
    theURL = "javascript:standardpop('pop_lavori.asp?cod=" + _global.arrNomiThumbs[i] + "', 500, 400)";
    							//getURL(theURL);
    			
    							trace(theURL);
    };
    Sapreste cortesemente darmi una dritta?

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Non è indefinito l'array, è indefinita la "i". Il resto del loop com'è?

  3. #3
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Non avevo pensato alla i, ma comunque lo script è all'interno di un ciclo in cui la i funziona egregiamente.
    Ti posto l'intero codice.
    La parte incriminata è verso il centro.

    codice:
    // array contenuti
    _global.arrNomiClienti = new Array("Amsa",
    						   "Autostar",
    						   "Bio Body",
    						   "The Body Shop",
    						   "DFM Marcantoni",
    						   "Diocesi Sabina",
    						   "Doc Fest",
    						   "Herder Editrice e Libreria",
    						   "Rowing",
    						   "Luca Maroni",
    						   "Piumini Danesi",
    						   "Camera del Senato",
    						   "Ministero della Salute");
    
    
    
    _global.arrNomiThumbs = new Array("g_amsa",
    								  "g_autostar",
    								  "g_bionbody",
    								  "g_thebodyshop",
    								  "g_DFM",
    								  "g_diocesi",
    								  "g_docfest",
    								  "g_libreriaherder",
    								  "g_rowing",
    								  "g_LM",
    								  "g_piuminidanesi",
    								  "g_senato",
    								  "g_ministero"
    								  );
    
    i = 0;
    distanzaClip = 10;
    countRow = 1;
    intColonne = 5;
    
    function  setIconFolder(){
    		    
    				if(i > 0){					
    					
    					MClavoro0.duplicateMovieClip("MClavoro" + i, i);
    					distance =  eval("MClavoro" + (i - 1))._x + eval("MClavoro" + (i - 1))._width + distanzaClip;
    										
    					eval("MClavoro" + i).myID = _global.arrNomiClienti[i];
    					eval("MClavoro" + i).attachMovie(_global.arrNomiThumbs[i], "clip" + i, 60);	
    					
    					eval("MClavoro" + i).onRelease = function() {
    					 		
    							theURL = "javascript:standardpop('pop_lavori.asp?cod=" + _global.arrNomiThumbs[i] + "', 500, 400)";
    							//getURL(theURL);
    							
    							trace(theURL);
    					 };
    					
    				} else {
    										
    					MClavoro0.myID = _global.arrNomiClienti[i];
    					MClavoro0.attachMovie(_global.arrNomiThumbs[i], "clip" + i, 59);		
    					
    					MClavoro0.onRelease = function() {
    					 		getURL("javascript:standardpop('pop_lavori.asp?cod=', 500, 400)");
    					};
    					
    				}											
    	
    				if(countRow == intColonne){ // Vai a capo
    					yValue = eval("MClavoro" + (i - 1))._y  + 35;
    					distance = MClavoro0._x;
    					countRow = 0;							
    			    } 
    					
    					
    					setProperty("MClavoro" + i, _x,  distance);
    					setProperty("MClavoro" + i, _y,  yValue);
    					
    					
    				if(i > 0){
    					countRow ++;		
    				}
    				
    				i++;
    			
    							
    				if(i == arrNomiClienti.length){ // Chiudi il ciclo
    					clearInterval(a);
    				}	
    		}
    
    
    			a = setInterval(setIconFolder, 70);

  4. #4
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    codice:
    function setIconFolder()
    {
    	if (i > 0) {
    		var current  = MClavoro0.duplicateMovieClip("MClavoro" + i, i);
    		var previous = this["MClavoro" + (i - 1)];
    		var distance = previous._x + previous._width + distanzaClip;
    		current.myID = _global.arrNomiClienti[i];
    		current.cod  = _global.arrNomiThumbs[i];
    		current.attachMovie(current.cod, "clip" + i, 60);
    		current.onRelease = function()
    		{
    			theURL = "javascript:standardpop('pop_lavori.asp?cod=" + this.cod + "', 500, 400)";
    			//getURL(theURL);
    			trace(theURL);
    		};

  5. #5
    Utente di HTML.it L'avatar di Umanista
    Registrato dal
    Jan 2002
    Messaggi
    1,022
    Grande negatyve

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 © 2024 vBulletin Solutions, Inc. All rights reserved.