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

    [dimensioni immagini] modificare galleria MooFlow

    Torno con un problema, dopo avere modificato la parte grafica in modo amatoriale
    Ho inserito delle foto nella galleria MooFlow le foto che hanno la parte verticale più alta si vedono bene mentre quelle con la parte orizzontale si vedono troppo piccole.
    Con la mia piccola esperienza penso che sia dovuto ad un comando che dice di ridimensionare le immagini a tot px, ora mi chiedo dove trovo questo comando?
    questa la galleria originale

    qui potete vedre il problema
    16927158

  2. #2
    ho trovato il codice

    codice:
    createMooFlowElement: function(counter, index){
    		var object = this.getCurrent(index);
    		object['width'] = this.loadedImages[index].width;
    		object['height'] = this.loadedImages[index].height;
    
    		var div = new Element('div').setStyles({
    			'position':'absolute',
    			'display':'none',
    			'height': this.MooFlow.getSize().y
    		});
    		var con = new Element('div').inject(div);
    		var img = new Element('img', {
    			'src': object.src,
    			'styles':{
    				'vertical-align':'bottom',
    				'width':'100%',
    				'height':'50%'
    			}
    ma se modifico i valori
    'width':'100%',
    'height':'50%'
    si scombina tutto
    16927158

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    mi e' capitato qualche tempo fa di basarci un sito su quello script e ho trovato tanti bachi e mancanze da sistemare, per esempio appunto un' errata gestione delle immagini orientate landscape

    in generale preparati a soffrire, parecchio


    la modifica non e' sicuramente da apportare li' dove hai indicato, ma qui
    codice:
    	process: function(x){
    		var zI=this.iL,z,W,H,foc=this.foc,f=this.factor,sz=this.sz,oW=this.oW,div;
    		with (Math) {
    			this.master.images.each(function(el){
    				div = el.div;
    				if(x>-foc*6 && x<foc*6){
    					z = sqrt(10000 + x * x) + 100;
    					H = round((el.height / el.width * f) / z * sz);
    					W = round(el.width * H / el.height);
    					if(H >= el.width * 0.5)	W = round(f / z * sz);
    					
    					el.con.setStyle('height', H*2 + 'px');		
    					div.setStyle('width', W + 'px');
    					div.setStyle('left', round(((x / z * sz) + sz) - (f * 0.5) / z * sz) + 'px');
    					div.setStyle('top', round(oW * 0.4 - H) + 'px');							
    					div.setStyle('z-index', x < 0 ? zI++ : zI--);
    					div.setStyle('display', 'block');
    				} else {
    					div.setStyle('display', 'none');
    				}
    				x += foc;
    			});
    		}
    	}
    prova a cambiarlo in
    codice:
    	process: function(x){
    		var zI=this.iL,z,W,H,foc=this.foc,f=this.factor,sz=this.sz,oW=this.oW,div,elh,elw,mFactor;
    		with (Math) {
    			this.master.images.each(function(el){
    				div = el.div;
    elw = el.width;
    elh = el.height;
    
    				if(x>-foc*6 && x<foc*6){
    					z = sqrt(10000 + x * x) + 100;
    mFactor=(elw<=elh)?2:1.7;
    					// H = round((el.height / el.width * f) / z * sz);
    					// W = round(el.width * H / el.height);
    W=round((elw/elh *f*mFactor)/z*sz)
    H=round((elh*W/elw))
    					// if(H >= el.width * 0.5)	W = round(f / z * sz);
    					
    					el.con.setStyle('height', H*2 + 'px');		
    					div.setStyle('width', W + 'px');
    					// div.setStyle('left', round(((x / z * sz) + sz) - (f * 0.5) / z * sz) + 'px');
    div.setStyle('left', round(((x / z * sz) + sz) - W/2) + 'px');
    					div.setStyle('top', round(oW * 0.4 - H) + 'px');							
    					div.setStyle('z-index', x < 0 ? zI++ : zI--);
    					div.setStyle('display', 'block');
    				} else {
    					div.setStyle('display', 'none');
    				}
    				x += foc;
    			});
    		}
    	}
    volutamente fuori tabulazione le modifiche apportate (tra l' altro su di una versione dello script leggermente diversa dalla tua), gioca con quei valori di mFactor per stabilire un rapporto consistente tra immagini in landscape e portrait

    buona fortuna

  4. #4
    ho cambiato il codice, ma la galleria non funziona proprio :master:
    16927158

  5. #5
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    avrai toccato altro per sbaglio
    ho provato ora sull' esempio scaricabile e funziona

    ciao

  6. #6
    Grazie per il tempo dedicato, ho trovato una galleria molto facile da aggiornare userò quella
    16927158

  7. #7
    Ciao Xinod,
    ho incorporato la parte di script che hai postato te al mio mooflow e le immagini orizzontali adesso si vedono bene, ma le verticali mi si vedono malissimo, tagliate a metà appunto... c'è qualche altro ritocchino che può aiutarmi a sistemare le cose?
    O_o

  8. #8

    REGOLAZIONE Mooflow.js

    Allora, ho trovato il punto dove è il problema, siccome non sono troppo ferrato vi posto il codice js per capire come regolare i parametri

    div.setStyle('left', round(((x / z * sz) + sz) - W/2) + 'px');
    div.setStyle('top', round(oW * 0.4 - H) +'px');



    Mi sapreste aiutare ragazzi????

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.