Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    come si ridimensiona una finestra in modo che contenga esattamente una immagine?

    Mi vergogno proprio a chiederlo e se nessuno mi risponderà capirò

    Non riesco a ritrovare nella mia raccolta di script utili, lo script per il ridimensionamento di un popup che contenga una immagine, valido con IE e Firefox.
    Ringrazio
    Pietro

  2. #2
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    qui mi sembra ci sia tutto quello che ti serve
    http://www.sitepoint.com/article/res...it-images-size

    cmq,
    dato che FF ha tra le impostazione la possibilita' di NON permettere di ridimensionare le finestre, se hai gia' le dimensioni dell'immagine prima di scriverle nella funzione ti conviene aprire un popup direttamente con quel width ed height
    + un 10px di gioco da ambo le parti

    ciaouz

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Prima di tutto di ringrazio della risposta.

    Una domanda di conferma, se voglio togliere le barre di scroll, con IE faccio aggiungo al body, scroll='no'. Per funzionare con Firefox debbo aggiungere lo style='OVERFLOW: hidden'

    E' corretto?
    Pietro

  4. #4
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    overflow:hidden; funziona su ambedue

    funziona anche per il layer, unica cosa (i + esperti nel caso me lo confermino) mi sembra che sui browser Ns < 7 non funziona overflow:auto (cioè che appare la scroll solo nel caso il contenuto superi il width o l'height

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ne ringraziare l'amico kluster per la sua gentile risposta, visto che adesso sembra funzionare, riporto per chi fosse interessato, il mio acrocchio.

    Ho una pagina server che, cliccando su una miniatura, fa aprire un popup con l'immagine.

    codice:
    <a href="javascript:void(0);" onclick="CaricaFoto('****;return false;" >
    DA NON DIMENTICARE PER NESSUNA RAGIONE, il return false

    la funzione CaricaFoto crea il popup

    codice:
    var w_2 = null;
    function CaricaFoto(foto1)
    {
    	if (w_2 != null && w_2.open) w_2.close(); 
    
    	w_2 = window.open("", "foto2", "width=300px,height=300px,resizable=yes,scrollbars=no");
    	d = w_2.document;
    	d.writeln("<h"+"tml>");
    	d.writeln("<h"+"ead>");
    	d.writeln("<t"+"itle>" + foto1 + "</t"+"itle>");
    	d.writeln( "<SCRIP" + "T LANGUAGE=javascript>function ridimensiona(){window.setTimeout(function() {onsetTimeoutRidimensiona();}, 300);}function onsetTimeoutRidimensiona(){var foto1 = document.getElementById('im1');var maxW = screen.width - 70, maxH = screen.height - 100;var fattoreW, fattoreH, oldW, oldH, newW, newH;oldW = foto1.width;oldH = foto1.height;fattoreW = maxW / oldW;fattoreH = maxH / oldH;if(fattoreW >= fattoreH){ newW = oldW * fattoreH; newH = oldH * fattoreH; } else { newW = oldW * fattoreW; newH = oldH * fattoreW; } if(newW < foto1.width) {foto1.width = newW;} var largh = foto1.width -0 + 20; var altez = newH -0 + 20; window.resizeTo(foto1.width - 0 + 10, foto1.height - 0  + 50); } </SCRIP" + "T>");
    	d.writeln( "</h"+"ead>" );
    	d.writeln( "<b"+"ody topmargin='0' leftmargin='0' scroll='no' style='OVERFLOW: hidden'>" );
    	d.writeln( "[img]img1.aspx?img=" + foto1 + "&tic=" + (new Date()).valueOf() + "[/img]" ) ;
    	d.writeln( "</b"+"ody>" );
    	d.writeln( "</h"+"tml>" );
    	d.close();
    	w_2.focus();
    
    
    }
    l'html generato è:
    codice:
    <html>
    <head>
    <title>c:\DSCN0041.JPG</title>
    <SCRIPT LANGUAGE=javascript>
    function ridimensiona()
    {
    	window.setTimeout(function() 
    	{
    		onsetTimeoutRidimensiona();
    	}, 300);
    }
    
    function onsetTimeoutRidimensiona()
    {
    	var foto1 = document.getElementById('im1');
    	var maxW = screen.width - 70, maxH = screen.height - 100;
    	var fattoreW, fattoreH, oldW, oldH, newW, newH;
    	oldW = foto1.width;
    	oldH = foto1.height;
    	fattoreW = maxW / oldW;
    	fattoreH = maxH / oldH;
    	if(fattoreW >= fattoreH)
    	{ 
    		newW = oldW * fattoreH; 
    		newH = oldH * fattoreH; 
    	} 
    	else 
    	{ 
    		newW = oldW * fattoreW; 
    		newH = oldH * fattoreW; 
    	} 
    	
    	if(newW < foto1.width) {foto1.width = newW; }
    	
    	var largh = foto1.width -0 + 20; 
    	var altez = newH -0 + 20; 
    	
    	window.resizeTo(foto1.width - 0 + 10, foto1.height - 0  + 50); 
    } 
    
    </SCRIPT>
    </head>
    <body topmargin='0' leftmargin='0' scroll='no' style='OVERFLOW: hidden'>
    [img]img1.aspx?img=c:\DSCN0041.JPG&tic=1129632724296[/img]
    </body>
    </html>
    l'immagine è richiamata dal server aggiungendo il parametro tic diverso per ogni chiamata, tanto per non avere problemi con la cache.


    Da ultimo, se trovaste delle sciochezze, ben felice di saperlo. Ciao
    Pietro

  6. #6
    codice:
    popImage(tango%20Ph%20M.L.Frerraro.jpg','titolo')
    non funziona perché c'è lo spazio nel nome del file. Come si può risolvere?

  7. #7
    ho risolto modificando questa linea:
    ciao

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.