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:
codice:
loadVariablesNum("foto.asp", 0);
e nel frame successivo c'è il seguente script:
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)
dove "clip" è un movieclip vuoto sullo stage.
Ci sono poi due pulsanti. Quello per vedere la schermata successiva delle foto:
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)
}
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?
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!!