Foros del Web » Programando para Internet » Javascript »

Efectos visuales con javascript

Estas en el tema de Efectos visuales con javascript en el foro de Javascript en Foros del Web. Hola amigos, me gustaria hacerles una consulta, ya que me gustaria saber como puedo dotar de algunos efectos visuales a las capas, me explico un ...
  #1 (permalink)  
Antiguo 26/12/2007, 12:46
 
Fecha de Ingreso: diciembre-2004
Mensajes: 51
Antigüedad: 21 años, 9 meses
Puntos: 0
Efectos visuales con javascript

Hola amigos, me gustaria hacerles una consulta, ya que me gustaria saber como puedo dotar de algunos efectos visuales a las capas, me explico un poco para que me podais entender.

Mi intencion es, por ejemplo, que cuando se pinche en un enlace se abra una nueva capa con un contenido, hasta ahi sin problema, pero me gustaria que al pinchar esta capa no saliera de golpe con su tamaño, sino q empezara en cualquier esquina y fuese creciendo hasta conseguir su tamaño.

Bueno la verdad es que no se si he conseguido explicarme, asi que si veis q me he explicado como un libro cerrao avisadme por favor.

Por cierto feliz navidad y prospero año nuevo.

Muchas gracias a todos.
Saludos
  #2 (permalink)  
Antiguo 26/12/2007, 16:59
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 22 años, 11 meses
Puntos: 45
Re: Efectos visuales con javascript

Hola Adelsork:

Sí, con javascript puedes hacer muchísimos efectos visuales: cambiar de tamaño, de colores, de borde... de todas las propiedades CSS, y en tiempo de ejecución.

Te dejo un ejemplo de lo que pides para que observes su funcionamiento:

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>

<
a href="#" onclick="crece('capaOculta', 400, 250); return false;">¿quieres leerlo?</a>

<
div id="capaOculta" style="display:none; position: absolute; top: 150px; left: 400px; background-color:red; overflow: hidden;">Nulla pulvinar neque laoreet turpis. Phasellus nibh mi, adipiscing sed, fringilla in, pharetra non, libero. Donec a augue bibendum ante sollicitudin malesuada. Duis at elit quis turpis ornare hendrerit. Suspendisse fringilla. Integer suscipit neque ut leo. Vestibulum eleifend urna sit amet pede. Suspendisse pellentesque, lacus at lacinia aliquet, diam metus posuere est, laoreet pretium ipsum est ac libero. Proin consectetuer aliquam tortor. Sed dignissim felis pharetra urna. Fusce nibh. Quisque quam lorem, egestas ut, auctor in, consequat a, ipsum. In elementum dolor ac metus. Proin cras amet.<br/><br/><a href="#" onclick="decrece(this.parentNode); return false;">cierra</a></div>

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


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

function 
crece(id, w, h) {
    var 
capa = $(id);
    var 
creciendo = setInterval( function() {
        if(
capa.style.display==='none') {
            
capa.style.display = 'block';
            
capa.style.width = "1px";
            
capa.style.height = "1px";
        }
        else {
            var 
anchoActual = parseInt( capa.style.width );
            var 
altoActual = parseInt( capa.style.height );
            if( 
anchoActual < w )
                
capa.style.width = (anchoActual+=2) +"px";
            if( 
altoActual < h )
                
capa.style.height = (altoActual+=2) +"px";
            if( 
anchoActual>=w && altoActual>=h )
                
clearInterval(creciendo);
        }
    }, 
1); 
}

function 
decrece(capa) {
    var 
decreciendo = setInterval( function() {
        var 
anchoActual = parseInt( capa.style.width ) - 2;
        var 
altoActual = parseInt( capa.style.height ) - 2;
        if( 
anchoActual<0 ) anchoActual = 0;
        if( 
altoActual<0 ) altoActual = 0;
        if( 
anchoActual > 0 )
            
capa.style.width = (anchoActual) +"px";
        if( 
altoActual > 0 )
            
capa.style.height = (altoActual) +"px";
        if( 
anchoActual<=0 && altoActual<=0 ) {
            
capa.style.display = 'none';
            
clearInterval(decreciendo);
        }
    }, 
1);
}

// -->
</script>

</body>
</html> 


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.
  #3 (permalink)  
Antiguo 26/12/2007, 17:30
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 24 años, 5 meses
Puntos: 1284
Re: Efectos visuales con javascript

Hola:

Hace algún tiempo, hice una especie de slideshow que puedes ver en Imágenes en la parte de proyector de diapositivas... tan solo son transiciones entre capas...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 27/12/2007, 04:16
 
Fecha de Ingreso: diciembre-2004
Mensajes: 51
Antigüedad: 21 años, 9 meses
Puntos: 0
Re: Efectos visuales con javascript

Perfecto, es exactamente lo que buscaba, no se me habia ocurrido utilizar el setInterval() jeje

Muchisimas gracias, que paseis unas felices fiestas ;)

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:55.