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

    [as 2] ricerca in array

    Salve popolo di webber sto tentando di risolvere un problema grooooossooo

    io possiedo un array che identifica 15 elementi (per ora)

    questi si elencano uno sotto laltro in pacchettini duplicati con ciclo di for

    ogni array possiede un id

    ora vorrei create un testo input da ricerca in modo che scrivendo una parola lui mi inizi gia la ricerca e cominci a scremarmi e rimuovermi gli elementi che non contengono quelle lettere che scrivo nell' input.

    ho fatto una prova con un bottone per ora ed il risultato è che mi elimina gli elementi ma non mi riassembla gli elementi che rimangono, praticamente invece di rimpaginarmi i risultati uno sotto l' altro mi lascia gli spazi vuoti degli elementi rimossi!!

    avete qualche dritta da darmi?
    se vi serve vi posso inserire il codice......
    forza e coraggio......

  2. #2
    Per rimuovere indici dagli array usa array.splice().

    Quindi ogni volta che digiti un carattere devi ciclarti l'array e eliminare gli indici che non corrispondo.

    (Splice rimuove gli elementi direttamente dall'array non in una copia.)

  3. #3
    ciao e grazie per la risposta, ma il problema è che ho già utilizzato lo splice ma anche se mi rimuove dei componenti dell array, non mi rimuove il clip duplicato, quindi lo rimuovo con removemovieclip e lo toglie, ma nella lista mi rimangono spazi dove cerano i clip filmati che ho rimosso e io vorrei invece che si attaccassero ( distanziassero da quelli visibili di pochi pixel)
    forza e coraggio......

  4. #4
    Quando dicevi spazi vuoti pensavo intendessi nell'array.
    Il problema non è più lì. Devi trovare il modo di ripiazzare tutto correttamente.
    Il metodo più sbrigativo è quello di ciclare tutto l'array e riposizionare gli oggetti in base a quello prima.

    Di base questo, anche se probabilmente dovrai gestire anche l'altezza.

    codice:
    arrClip[i]._x = arrClip[(1-1)]._x+arrClip[(1-1)]._width+20
    Inoltre potresti partire dall'indice dell'array rimosso, che quelli prima rimangono dove stavano, almeno risparmi un po' di operazioni.

  5. #5
    il fatto è che lo script è bello lungo te lo posto cosi dai un occhio
    codice:
    #include "lmc_tween.as" 
    MovieClip.prototype.createList = function(array, clip, visibleItems, xPos, yPos, spacing, offset) {
    	this.listItems = new Array();
    	lis.useHandCursor = false;
    	this.total = array.length;
    	this.vis = visibleItems;
    	this.spacing = spacing;
    	this.offset = offset;
    	this._x = xPos;
    	this._y = yPos;
    	this.num = 1;
    	for (var i =1 ; i<=this.total; i++) {
    		tutti = "/ " + this.total
    		var listItem:MovieClip = this.attachMovie(clip, "listItem"+i, i);
    		listItem.yPos = (this.total-i+1)*this.spacing;
    		if (i<=this.vis) {
    			listItem._y = listItem.yPos;
    		} else {
    			listItem._y = this.offset+((this.total-i));
    			listItem._alpha = 0;
    		}
    		listItem.id = i;
    		listItem.tesst.txt.text = array[i-1];
    		listMc.listItems[i-1] = listItem;
    		a = 1;
    if (listItem.id == 1) {
    			loadMovie("web/montstop.jpg", listItem.contenitore_foto);
                listItem.inerzia.main.ty="Tecn: Adobe Illustrator CS3, Photoshop CS3, Indesign CS3
    Campagne pubblicitarie per <font color ='#FF3300'>Montini spa</font>, linea di prodotti pubblicizzati sul GIORNALE DI BRESCIA e riviste aziendali.."
    			listItem.tesst.tes = "Campagne pubblicitarie";
    			listItem.tesst.tes44 = "Realizzato da: Lorenzo Ravelli
    Data: 2009/2010";
    			listItem.messnitro._visible=false
    			listItem.inizio._visible=true
    		}
    
    
    		if (listItem.id == 2) {
    			loadMovie("web/king.jpg", listItem.contenitore_foto);
                listItem.inerzia.main.ty="Tecn: Adobe Illustrator CS3
    Logotipo per decorare una maglietta <font color ='#FF3300'>King of paint</font>, "
    			listItem.tesst.tes = "Logotipo";
    			listItem.tesst.tes44 = "Realizzato da: Lorenzo Ravelli
    Data: 2009/2010";
    			listItem.messnitro._visible=false
    			listItem.inizio._visible=false
    			
    		}
    	}
    };
    MovieClip.prototype.shuffleList = function(n) {
    	this.num += n;
    	if (this.num>0 && this.num<=((this.total+1)-this.vis)) {
    		var min:Number = this.num;
    		if (aa==false){
    		var max:Number = this.num+this.vis;
    		}else{
    		var max:Number= this.num+this.vis+1
    		}
    		for (var i = 0; i<=this.total; i++) {
    			var mc = this.listItems[i-1];
    			if ((this.total-i+1)<min) {
    				var Y:Number = mc.yPos-this.offset-(this.num*this.spacing);
    				var alpha:Number = 60;
    				//var red:Number=100
    				
    				var scale:Number = 100;
    				var scale2x:Number = 108;
    					var scale2y:Number = 100;
    				//var scale3:Number = 100
    					var maschera:Number = 100
    					var cont:Number = -80
    					var maschy:Number = -52
    					//var alp:Number =100
    					var X:Number = 375
    					var YY:Number = -10
    					var barrax:Number = 272
    					var alphadescc:Number = 0
    					var alphadescc2:Number = 0
    					var visualiz:Number = 0
    				//listItem.base.scale:Number = 500
    				
    			} else if ((this.total-i+1)>=max) {
    				var alpha:Number = 60;
    				
    				//qui
    				
    				var Y:Number = mc.yPos+this.offset-(this.num*this.spacing);
    				
    				
    				var scale:Number = 100;
    				var scale2x:Number = 108;
    					var scale2y:Number = 100;
    				//var scale3:Number = 100
    					var maschera:Number = 100
    					var cont:Number = -60
    					var maschy:Number = -52
    					//var alp:Number =100
    					var X:Number = 375
    					var YY:Number = -10
    					var barrax:Number = 272
    					var alphadescc:Number = 0
    					var alphadescc2:Number = 0
    					var visualiz:Number = 0
    			} else {
    				var Y:Number = mc.yPos-(this.num*this.spacing);
    				var alpha:Number = 100;
    				
    				
    					var scale:Number = 150;
    					var scale2x:Number = 122;
    					var scale2y:Number = 222;
    					var scale3:Number = 81.5
    					var maschera:Number = 170
    					//var cont:Number = mc.yPos+this.offset-((this.num+1)*this.spacing);
    					var cont:Number = -79
    					var maschy:Number = -98.5
    					//var alp:Number =0
    					var X:Number = 445
    					var YY:Number = -30
    					var barrax:Number = 377
    					var alphadescc:Number = 100
    					var alphadescc2:Number = 100
    					var visualiz:Number = 100
    				
    			}
    			mc.tween("_y",Y,1);
    			mc.alphaTo(alpha,1);
    			mc.base.scaleTo(scale,1)
    			
    			mc.colore.scaleTox(scale2x,1)
    			mc.colore.scaleToy(scale2y,1)
    			
    			mc.maschera.scaleTo(maschera,1)
    			mc.contenitore_foto.scaleTo(scale3,2)
    			mc.contenitore_foto.tween("_y",cont,1)
    			mc.maschera.tween("_y",maschy,1)
    			
    			//mc.barra.alphaTo(alp,1)
    			
    			mc.barra.tween("_x",barrax,1)
    			mc.barra.scaleTo(barray,1)
    			
    			mc.tesst.tween("_x",X,1)
    			mc.tesst.tween("_y",YY,1)
    			
    			mc.descc.alphaTo(alphadescc,0.05)
    			mc.inerzia.alphaTo(alphadescc2,0.05)
    			mc.colorTo(red,1)
    			mc.logo.alphaTo(visualiz,1)
    			
    		}
    	} else {
    		this.num -= n;
    	}
    };
    var fruits:Array = new Array("MONTINI s.r.l." ,"KING OF PAINT","ODIO","AMORE", "LA ZAPPAGLIA", "OUR DESIGN", "ZERONOVE","FATTO AD ARTE","BUZD - stampa","LA ZAPPAGLIA site","TORREGGIANI site","MONTINI s.p.a. site","NITRODESIGN // site");
    var listMc:MovieClip = this.createEmptyMovieClip("listMc", 0);
    listMc.createList (fruits, "listItem", 1, -100, 160, 112, 35);
    listMc.shuffleList(0);
    
    prevBtn.onPress = function() {
    	if(corrente != "12"){
    		nextBtn._alpha=100
    	}
    	if((corrente >= "2")&&(corrente<= "14")){
    	corrente--
    	}
    	listMc.shuffleList(-1);
    cont--
    
    };
    nextBtn.onPress = function() {
    	if(corrente == "12"){
    	nextBtn._alpha=50
    }
    	if(corrente != "0"){
    		prevBtn._alpha=100
    	}
    	if((corrente >= "1")&&(corrente<= "12")){
    	corrente++
    	}
    	listMc.shuffleList(+1);
    	cont++
    
    
    };
    ho tolto alcuni id per alleggerire il codice
    quindi ho id per ogni elemento anche perchè poi ce un effetto di ingrandimento quando seleziono un elemento
    forza e coraggio......

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.