Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/12/2007, 18:28
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Redimensionar Imagen (en DIV), sentido Left y Top

Hola Deiv:

Voy a intentar darte un ejemplo de cómo lo haría yo, jugando con las propiedades margin de CSS conseguirás este efecto. Eso sí, debe haber espacio suficiente para que la imagen se agrande correctamente, aunque no necesitas un DIV para ello, fíjate:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<
html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<
head>
<
meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
<
meta name="Author" content="derkeNuke" />
<
title>Página nueva</title>
<
style type="text/css">

</
style>
</
head>

<
body>


<
p>Mauris vestibulum tempus felisNulla ipsum loremauctor necpretium quisauctor egettortorSuspendisse accumsan orci id nisiInteger egestas velit at nisiInteger laoreet fermentum eratAliquam mollis orci porttitor felis fringilla condimentumSed ultrices ligula at magna iaculis feugiatInteger metus enimlaoreet idfeugiat atblandit sit ametmassaPellentesque nunc lectusplacerat amalesuada necsagittis vitaeorciNulla odio eratiaculis neciaculis egetpellentesque alacusDonec a velitDonec erosNulla metus felisdignissim accondimentum idconsequat bibendumtortorDonec eros felisaliquam eumattis noncursus veljustoPhasellus justo elitdictum atlaoreet quisvenenatis euliberoCras vel maurisMorbi nec nisiAliquam viverra ligula.</p>

<
img id="carita" src="http://www.forosdelweb.com/images/icons/icon10.gif" style="width: 16px; height: 16px; margin-top:50px; margin-left: 50px;" />

<
p>Cras at nibh nec purus lobortis tinciduntIn pretiumVestibulum blandit sagittis leoAenean ut nisiPellentesque non nislPhasellus vel massaNam ut risusQuisque vestibulum miSed dictumProin mi massaporttitor sit ametgravida asollicitudin vitaenunc.</p>

<
p>
    <
button type="button" onclick="aumentar()">aumentala a 50 px</button>
    <
button type="button" onclick="reducir()">reducela a 16 px</button>
</
p>

<
script type="text/javascript">
<!--


// document.getElementById abreviado
function $(x) { return document.getElementById(x); }


var 
aumentandoreduciendo;                // los procesos
function aumentar() {
    
// Si estan iniciados los procesos los paramos
    
clearInterval(aumentando); 
    
clearInterval(reduciendo);
    
// Parámetros principales
    
var imagen = $("carita");
    var 
hastaCuanto 50;
    
// Proceso aumentativo
    
aumentando setInterval( function() {
        var 
anchuraActual parseIntimagen.style.width );
        var 
alturaActual parseIntimagen.style.height );
        if( 
anchuraActual<hastaCuanto && alturaActual<hastaCuanto ) {        // Si podemos aumentar todavía, aumentamos
            //dimensiones
            
imagen.style.width anchuraActual 1;
            
imagen.style.height alturaActual 1;
            
//margen
            
imagen.style.marginLeft parseInt(imagen.style.marginLeft) - 1;
            
imagen.style.marginTop parseInt(imagen.style.marginTop) - 1;
        }
        else                                                                
// Si no, paramos
            
clearInterval(aumentando);
    }, 
10);
}
function 
reducir() {
    
// Si estan iniciados los procesos los paramos
    
clearInterval(aumentando); 
    
clearInterval(reduciendo);
    
// Parámetros principales
    
var imagen = $("carita");
    var 
hastaCuanto 16;
    
// Proceso reductivo
    
reduciendo setInterval( function() {
        var 
anchuraActual parseIntimagen.style.width );
        var 
alturaActual parseIntimagen.style.height );
        if( 
anchuraActual>hastaCuanto && alturaActual>hastaCuanto ) {
            
//dimensiones
            
imagen.style.width anchuraActual 1;
            
imagen.style.height alturaActual 1;
            
//margen
            
imagen.style.marginLeft parseInt(imagen.style.marginLeft) + 1;
            
imagen.style.marginTop parseInt(imagen.style.marginTop) + 1;
        }
        else
            
clearInterval(reduciendo);
    }, 
10);
}

// -->
</script>

</body>
</html> 

Espero que te inspire para encontrar la solución.


Un saludo
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.

Última edición por derkenuke; 15/12/2007 a las 18:36