Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322

    Aprire popup delle dimensioni di una foto

    Ciao a tutti

    Ho creato una pagina che mi visualizza alcune foto
    Da questa, è possibile cliccando sulla foto, aprire un popup con l'immagine a dimensioni originali tramite questo link

    I parametri passati alla funziona jscript sono esatti in quanto mi si apre il popupcon la foto, della larghezza desiderata ma il parametro che non accetta è l' "height"

    La funziona è la seguente

    codice:
        function popup(foto,width,height) {
          width = eval(width)+30;
          height = eval(height)+30;
          open("popup.php?foto="+foto,"popup","width="+width,"height="+height,"left="+((screen.width-width)/2)+",top="+((screen.height-height)/2));
          return false;
        }
    Mettendo degli alert, ho verificato che i valori passati fossero giusti ma rimane il fatto che il valore "width" che passo viene letto e considerato, l' "height" no

    A cosa può essere dovua questa cosa?

    Manuel

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    la concatenazione e' sbagliata, per questo si ferma all' unico valore concatenato correttamente

    open("popup.php?foto="+foto,"popup","width="+width+",height="+height+",left="+((screen.width-width)/2)+",top="+((screen.height-height)/2));

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322
    Grazie mille, ora funziona

    Mi aveva tratto in inganno il passaggio della variabile

    codice:
    foto="+foto
    che non viene passata nello stesso modo

    codice:
    foto="+foto+"

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    capita

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322
    Ma sarebbe anche possibile, chiudere il popup esistente ed aprirne un altro con le stesse proprietà?
    Nel senso, che si apra sempre con le dimensioni della nuova immagine

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Assegna ad una variabile globale un riferimento alla finestra aperta:
    codice:
    var win;
    function apri(chi) {
      if (win&&!win.closed) win.close();
      win = window.open( ... );
    }
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322
    Non t seguo..
    Ti spiego un'attimo in quale situazione sono

    Ho un pagina che mi carica tutte le foto come se fosse un'anteprima, visualizzandomene 4 alla volta, fino all'ultima
    Cliccando su una qualsiasi di queste mi si apre il popup che con la modifica apportata ha questo codice:

    codice:
        function popup(foto,width,height) {
          width = eval(width)+30;
          height = eval(height)+30;
          open("popup.php?foto="+foto,"popup","width="+width+",height="+height+",left="+((screen.width-width)/2)+",top="+((screen.height-height)/2));
          return false;
        }
    Dove foto è il nome del file, width e height li ricavo da una funziona php
    Il popup mi si apre delle dimensioni volute ed inoltre, in fondo alla foto ho next e prev che mi permettono di navigare tra le foto senza dover chiudere il popup.

    Il problema mi si pone in quanto alcune foto non sono 800x532 ma 532x800 e di conseguenza il risultato è brutto da vedere

    Pensavo quindi di fare una funzione che mi chiudesse il popup e me ne aprisse un altro quando clicco su next o prev
    La pagina che gestisce questi due comandi, ha semplicemente questo codice

    codice:
        function popup(foto) {
          if (foto.indexOf("jpg")!=-1) {
            window.location.href='popup.php?foto='+foto;
          }
        }
    dove foto è il nome del nuovo file da visualizzare
    A questo punto vorrei che prima di aprire il popup con la nuovo foto mi si chiudesse il vecchio (magari se le dimensioni sono diverse)
    Ovviamente quando si apre quello nuovo dovrebbe sempre avere le dimensioni giuste

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322
    Non ho ancora trovato la soluzione..
    Il fatto è che quando si attiva l'evento onlick mi viene eseguita una funzione jscript che vorrei chiudesse prima il popup esistente e poi ne aprisse un altro con i nuovi parametro

    Codice PHP:
      <script>
        function 
    popup(foto,width,height) {
          
    width = eval(width)+30;
          
    height = eval(height)+30;
          
    open("popup.php?foto="+foto,"popup","width="+width+",height="+height+",left="+((screen.width-width)/2)+",top="+((screen.height-height)/2));
          return 
    false;
        }
      
    </script> 
    Il codice della mia funzione è questo ma non riesco ad usare la soluzione a me proposta

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.