Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Llamar a un div con transiciones mediante css

Estas en el tema de Llamar a un div con transiciones mediante css en el foro de Javascript en Foros del Web. Buenas a tod@s, estoy intentando cargar un div que hace de ventana emergente. El problema es que cuando lo llamo con el javascript no consigo ...
  #1 (permalink)  
Antiguo 16/11/2015, 08:19
 
Fecha de Ingreso: noviembre-2015
Mensajes: 12
Antigüedad: 8 años, 5 meses
Puntos: 0
Llamar a un div con transiciones mediante css

Buenas a tod@s,

estoy intentando cargar un div que hace de ventana emergente. El problema es que cuando lo llamo con el javascript no consigo hacer que el div reproduzca las transiciones que le puse mediante estilos css. He probado con la opción de mostrar/ocultar y el div carga pero solo en el estado inicial, no hace las transiciones.

Alguien sabría decirme qué estoy haciendo mal? igual esto no se puede hacer de esta forma?

Gracias por adelantado.

Saludos
  #2 (permalink)  
Antiguo 16/11/2015, 10:56
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Llamar a un div con transiciones mediante css

Se trata de darle el valor a la propiedad de la transición, usando el css computado https://developer.mozilla.org/es/doc...tComputedStyle
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}

Última edición por IsaBelM; 17/11/2015 a las 05:42
  #3 (permalink)  
Antiguo 16/11/2015, 11:57
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Llamar a un div con transiciones mediante css

Bienvenido a Foros del Web.

Sin ver lo que tienes hecho, no es posible determinar lo que esté mal, pero solo por si acaso, no todas las propiedades pueden ser afectadas por el efecto de transición.

Aquí puedes ver la lista de propiedades que pueden ser afectadas por dicho efecto.

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #4 (permalink)  
Antiguo 17/11/2015, 04:42
 
Fecha de Ingreso: noviembre-2015
Mensajes: 12
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Llamar a un div con transiciones mediante css

Hola de nuevo.

He estado echando un vistazo a los links que me habéis facilitado y hay una transición que no aparece en la lista (-webkit-transition:). No obstante, dejo el código que tengo a ver si me podéis echar un cable. Mil GRACIAS!!!!

Estilo css:
Código:
<style type='text/css'>
.modalmask {
    position: absolute;
    font-family: Arial, sans-serif;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0,0,0,0.8);
    z-index: 99999;
    opacity:0;
    -webkit-transition: opacity 300ms ease-in;
    -moz-transition: opacity 300ms ease-in;
    transition: opacity 300ms ease-in;
    pointer-events: none;
}
.modalmask:target {
    opacity:1;
    pointer-events: auto;

}

.modalbox{
    width: 210px;
    position: relative;
    padding: 15px 15px 10px 15px;
    background: #fff;
    border-radius:3px;
    -webkit-transition: all 400ms ease-in;
    -moz-transition: all 400ms ease-in;
    transition: all 400ms ease-in;    
}

.modalmask:target .movedown{       
    margin-top:10%;
}
.movedown {
    margin: 0 auto;
}
.close {
    background: #fff;
    color: #fff;
    line-height: 25px;
    position: absolute;
    right: 1px;
    text-align: center;
    top: 1px;
    width: 24px;
    text-decoration: none;
    font-weight: bold;
    border-radius:3px;
}
 
.close:hover {
    background: #FAAC58;
    color:#222;
}
    </style>
código Javascript:
Código:
<script type='text/javascript'>

  function stopscrollhref(){
     var ventana = document.getElementById('modal1');
     ventana.style.display = 'block';       	
  }
</script>
Div de la ventana emergente:
Código:
<div class='modalmask' id='modal1'>
    <div align='center' class='modalbox movedown'>
        <a class='close' href='#close' title='Close'>X</a>
<div style='width: 100%; height: auto; vertical-align: middle;padding-top:15px;'> 
<form action='https://feedburner.google.com/fb/a/mailverify' method='post' onsubmit='window.open(&apos;https://feedburner.google.com/fb/a/mailverify?uri=AIngenieros&apos;, &apos;popupwindow&apos;, &apos;scrollbars=yes,width=550,height=520&apos;);return true' target='popupwindow'>
        <table width='100%'>
          <tr>
            <td>
              <input name='email' placeholder='Email address...' style='width:140px;height:20px;' type='text'/>
              <input name='uri' type='hidden' value='AIngenieros'/><input name='loc' type='hidden' value='en_US'/>
            </td>
            <td width='64px'>
             <input class='button-generic' style='width:60px;height:26px;' type='submit' value='ENVIAR'/>
            </td>
          </tr>
        </table>
        <input expr:value='data:feedPath' name='uri' type='hidden'/>
        <input name='loc' type='hidden' value='en_US'/>
      </form>
    </div>      
</div>
</div>
Para ejecutar el javascript tengo una imagen que llama a la función al hacer click:
El caso es que la llama, pero solo se muestra el estilo .modalmask y se queda ahí "parada"

Código:
<a href='javascript://' onclick='javascript:stopscrollhref()'><img alt='' src='http://1.bp.blogspot.com/-E0fmDTqIfEk/VkDog-17ZKI/AAAAAAAAAFY/UHeLmInqaBA/s1600/e-mail.png' style='vertical-align:middle;border:0'/></a>
La idea de esto es porque si llamaba al div con el código de abajo la ventana aparecía como yo quería, pero se producía un scroll de la pantalla bastante incómodo.
Código:
<a href='#modal1'><img alt='' src='http://1.bp.blogspot.com/-E0fmDTqIfEk/VkDog-17ZKI/AAAAAAAAAFY/UHeLmInqaBA/s1600/e-mail.png' style='vertical-align:middle;border:0'/></a>
Alguna sugerencia?

De nuevo mil gracias por vuestro tiempo.

Saludos
  #5 (permalink)  
Antiguo 17/11/2015, 05:37
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Llamar a un div con transiciones mediante css

haz estos cambios
css
Cita:
.modalmask {
position: absolute;
font-family: Arial, sans-serif;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0,0,0,0.8);
z-index: 99999;
opacity:0;
pointer-events: none;
}


.modalmaskshow {
-webkit-transition: opacity 3s ease-in;
-moz-transition: opacity 3s ease-in;
transition: opacity 3s ease-in;
opacity:1;
}
js
Cita:
function stopscrollhref(){
var ventana = document.getElementById('modal1');
ventana.className = 'modalmaskshow';
}
html
Cita:
<img alt='' src='http://1.bp.blogspot.com/-E0fmDTqIfEk/VkDog-17ZKI/AAAAAAAAAFY/UHeLmInqaBA/s1600/e-mail.png' style='vertical-align:middle;border:0' onclick='javascript:stopscrollhref()'/>
para efectos algo mas complejos, lee este articulo
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #6 (permalink)  
Antiguo 17/11/2015, 08:54
 
Fecha de Ingreso: noviembre-2015
Mensajes: 12
Antigüedad: 8 años, 5 meses
Puntos: 0
Respuesta: Llamar a un div con transiciones mediante css

Buenas tardes IsaBelM.

Decirte que eres una CRACK!!!!!!! con mayúsculas.

Me funciona a las mil maravillas, además he editado un poco los estilos para que reproduzca exactamente lo que quería.

Muchísisisisisimas gracias.

Saludos

Etiquetas: css, mediante
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 09:33.