Foros del Web » Programando para Internet » Javascript »

Ventana emergente para texto y/o gráfico

Estas en el tema de Ventana emergente para texto y/o gráfico en el foro de Javascript en Foros del Web. Deseo mostrar en una ventana emergente información tal como: Póliza de privacidad, Aviso de confidencialidad, y ese tipo de detalles. Contenido de texto. Además que ...
  #1 (permalink)  
Antiguo 25/01/2014, 18:14
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 3 meses
Puntos: 21
Ventana emergente para texto y/o gráfico

Deseo mostrar en una ventana emergente información tal como: Póliza de privacidad, Aviso de confidencialidad, y ese tipo de detalles. Contenido de texto.

Además que permita mostrar una foto y texto... Cuando el visitante haga click en un producto, abrir una ventana y mostrar la foto y propiedades del prodcuto.

Deseo sea abierto dentro de la misma pantalla, oscurenciendo el fondo.

¿Cual es la herramienta para esta función?

Gracias
  #2 (permalink)  
Antiguo 25/01/2014, 21:51
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: Ventana emergente para texto y/o gráfico

Yo hago eso con Divs, estilos y un poco de jQuery.

Código HTML:
Ver original
  1. <div id = "fondo"></div>
  2. <div id = "contenido"></div>
  3. <button id = "pop">POP UP</button>

Código CSS:
Ver original
  1. #fondo {
  2.     background: rgba(0, 0, 0, .75);
  3.     z-index: 1000;    
  4. }
  5.  
  6. #contenido{
  7.     width: 50em;
  8.     height: 30em;
  9.     margin: -15em 0 0 -25em;
  10.     top: 50%;
  11.     left: 50%;
  12.     z-index: 2000;
  13.     background: #fff;
  14. }
  15.  
  16. #fondo, #contenido{
  17.     display: none;
  18.     position: absolute;
  19. }

Código Javascript:
Ver original
  1. $("#pop").click(function(){
  2.     var altoW = $(window).height() * 2,
  3.         anchoW = $(window).width() * 2;
  4.  
  5.     $("#fondo").css({
  6.         "width": altoW,
  7.         "height": anchoW
  8.     });
  9.  
  10.     $("#fondo, #contenido").fadeIn(1200);
  11.     $("body").css("overflow", "none");
  12. });
  13.  
  14. $("#fondo").click(function(){
  15.     $("#fondo, #contenido").fadeOut(1200);
  16.     $("body").css("overflow", "auto");
  17. });

Tengo dos Divs, uno que será mi fondo oscuro y otro para mostrar el contenido, además de un botón que los activará. En la hoja de estilos, les asigno los colores, dimensiones y los oculto.

En el archivo JS, le asigno al botón el método click para que cuando sea pulsado, se ejecute una función con un conjunto de instrucciones. En la función, tomo el doble del ancho y alto de la ventana y se lo asigno al Div de fondo, esto debido a que debe ocupar todo el fondo sin dejar espacio alguno, luego, muestro los Divs con el método fadeIn y oculto las barras de desplazamiento del cuerpo del documento (no del Div con la información). Para ocultar los Divs, solamente debo darle un clic al fondo oscuro y éstos se ocultarán con el método fadeOut, además, vuelvo a hacer visible las barras de desplazamiento del documento.

Así es como se ve: http://jsbin.com/AhiLANod/2
Y aquí tienes más efectos para usar: http://api.jquery.com/category/effects/

Saludos
__________________
«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
  #3 (permalink)  
Antiguo 25/01/2014, 22:58
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 3 meses
Puntos: 21
Respuesta: Ventana emergente para texto y/o gráfico

Estimado Alexis88, excelente tu aportación... Gracias, me ayuda muchísimo.

El detalle que veo, es que se debe precargar la información a desplegar. Pretendo incluirlo en un Carrito de compras, donde muestro 30 artículos por página, por lo que deberé precargar 30 descripciones (Una por cada artículo), las cuales no son muy cortas...

El inconveniente que veo es que consumiré recursos al tener que precargar la info de los 30, cuando quizá el usuario no abra ninguno. Lo ideal sería que cada vez que solicite la información, esta sea accesada, de tal forma que no sobrecarge la navegación.

Lo anterior se resuelve con un PopUp (Abriendo una nueva ventana), o quizá lo mejor pueda ser con Ajax, solo que no tengo sufiente conocimiento de Ajax.

Agradezco y por lo pronto haré investigaré un poco más esta herramienta que amablemente has compartido.

Gracias nuevamente.
  #4 (permalink)  
Antiguo 25/01/2014, 23:32
Avatar de arepavieja  
Fecha de Ingreso: marzo-2011
Mensajes: 207
Antigüedad: 13 años, 1 mes
Puntos: 9
Respuesta: Ventana emergente para texto y/o gráfico

No es necesario precargar todo. Ya que puedes crear una página detalle, que es donde estarían los detalles del producto y lo cargas pasando el ide de este mediante ajax o jquery Ejemplo:

Código Javascript:
Ver original
  1. <script>
  2. $(function(){
  3. $('.elemento').on('click',function(e){
  4. e.preventDefault();
  5. $('#fondo,#popup').fadeIn();
  6. $.post('pagina_detalle','ide='+$(this).attr('id'),function(response){
  7. $('#popup').html(response);
  8. })
  9. })
  10. })
  11. </script>

donde '.elemento' será el valor de la clase del producto y el atributo id tendrá el valor de identificación del producto.
__________________
La educación y la cortesía abren todas las puertas.
  #5 (permalink)  
Antiguo 26/01/2014, 01:09
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 3 meses
Puntos: 21
Respuesta: Ventana emergente para texto y/o gráfico

Estimado arepavieja,

Agradezco mucho tu mensaje, ilustrativo.
He bajado en FancyBox y lo he modificado, ya lo tengo en PHP y funciona de maravilla.

Haré pruebas adicionales y cuando lo finalice lo posteo.

Con una rutina PHP ahora tengo acceso a la base de datos completa, y con unas pocas líneas de código.

Gracias nuevamente.
  #6 (permalink)  
Antiguo 26/01/2014, 08:33
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: Ventana emergente para texto y/o gráfico

Me faltó aclarar eso anoche, estaba por irme a dormir . Los datos a mostrarse debes cargarlos mediante Ajax, ya que, técnicamente, los Divs están en la misma página desde la que se realiza la petición y como la idea no es recargar la página para mostrar la información, lo hacemos mediante una petición asíncrona.

Código HTML:
Ver original
  1. <a href = "ejemplo.php?dato=1">Enlace</a>

Código Javascript:
Ver original
  1. $("a").click(function(e){
  2.     e.preventDefault();
  3.     $.ajax({
  4.         url: $(this).prop("href"),
  5.         success: function(response){
  6.             $("#contenido").html(response);
  7.         }
  8.     });
  9. });

Saludos
__________________
«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
  #7 (permalink)  
Antiguo 26/01/2014, 11:13
 
Fecha de Ingreso: enero-2002
Mensajes: 1.174
Antigüedad: 22 años, 3 meses
Puntos: 21
Respuesta: Ventana emergente para texto y/o gráfico

Gracias Alexis88.

Etiquetas: emergente, ventana
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 18:24.