Salve a tutti. Sono mesi che lavoro su uno script per una galleria di immagini dinamica ed è quasi finita, solo che ho ancora qualche piccolo problema.
Allora, per prima cosa potete vedere il frutto dei miei sforzi, qui (con immagini provvisorie): http://www.spaziostudenti.net/public...t/gallery.html
Dunque, un file asp estrae da un db gli url di tutte le foto, che vengono importati così tramite AS.
Nel primo frame importo la stringa delle foto:
e nel frame successivo c'è il seguente script:codice:loadVariablesNum("foto.asp", 0);
dove "clip" è un movieclip vuoto sullo stage.codice:MovieClip.prototype.loadjpg = function(imgWidth, imgHeight) { this._visible = false; //creo il mc con la barra di preload var loadbar_mc = this.attachMovie("loader_mc", "loader_mc", 2); loadbar_mc._x = ((imgWidth/2)-(loadbar_mc._width/2)); loadbar_mc._y = ((imgHeight/2)-(loadbar_mc._height/2)); loadbar_mc.loader_barra_mc._xscale = 0; var id = setInterval(function (mc) { var bLoaded = this.getBytesLoaded(); var bTotal = this.getBytesTotal(); var percentDone = (bLoaded/bTotal)*100; if (bLoaded>1 && (bLoaded>(bTotal-10)) && mc[h]._width>0) { // Elimino la barra di preload removeMovieClip(loadbar_mc); mc._alpha = 99; mc[h]._visible = true; clearInterval(id); } else { trace("loading"); loadbar_mc.perc = int(bLoaded/bTotal*100)+"%"; loadbar_mc.loader_barra_mc._xscale = percentDone; this._visible = false; } }, 80, this); } volte = 1 orizz = 4 //numero di colonne vert = 2 // numero di righe hight = 128 //altezza foto width = 123 //larghezza foto space = 6 //spaziatura tra foto function tabella(inizio,pag){ if (pag == 1){ _root.indietro._visible = false }else{ _root.indietro._visible = true } ix = 0; iy = 0; z = 0; prima = inizio for (i=prima; i<=totale; i++){ if (i==prima){ loadMovie (_root["foto"+i], _root.clip); _root.clip.loadjpg(width, hight) _root.clip._x = 10 _root.clip._y = 60 _root.clip.onRelease = function(){ var w = System.capabilities.screenResolutionX/2; var h = System.capabilities.screenResolutionY/2; var x = Math.round(w - (width/2)); var y = Math.round(h - (hight/2)); getURL("javascript:window.open('"+_root["foto"+i] +"','...Something Lost...','width=" + width + ",height=" + hight + ",screenX=" + x + ",left=" + x + ",screenY=" + y + ",top=" + y + ",status=no, toolbar=NO, scrollbars=no');void(0);"); } }else{ duplicateMovieClip (clip, "clip"+z, z); mc = _root["clip"+z]; loadMovie (_root["foto"+i], mc); mc.loadjpg(width, hight) mc._x = (width+space)*ix+_root.clip._x mc._y = (hight+space)*iy+_root.clip._y mc.click(); } ix++; z++; if (ix>=orizz) { ix=0; iy++; } if (i>=(orizz*vert*pag)){ break; } if (i == totale){ post = totale % (orizz*vert) _root.avanti._visible = false for (r=post; r<(orizz*vert); r++){ removeMovieClip (_root["clip"+r]); } }else{ _root.avanti._visible = true } } } _root.onLoad = tabella(1,1)
Ci sono poi due pulsanti. Quello per vedere la schermata successiva delle foto:
e quello per tornare indietro:codice:on (release) { _root.volte++ if (_root.volte==2){ numb = 1 }else{ numb = _root.volte-1 } _root.tabella((_root.orizz*_root.vert*numb+1),_root.volte) }
Dunque, il problema è che, una volta arrivato all'ultima schermata delle foto, se riclicco sul pulsante indietro succede non funziona e mi compare una foto grande tutta la pagina! Perchè questo?codice:on (release) { _root.volte-- if (_root.volte==2){ numb = 1 }else{ numb = _root.volte-1 } _root.tabella((_root.orizz*_root.vert*numb+1),_root.volte) }
Un'altra cosa è che dovrei fare in modo ke, cliccando su ogni immagine, si apra in una finestra la relativa immagine ingrandita.
Qualcuno sa aiutarmi? :master:
Grazie! Ciao!!

Rispondi quotando
Please! Mi manca solo questo e poi la galleria è finita!

