Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Mostrar una imagen diferente en ventana modal

Estas en el tema de Mostrar una imagen diferente en ventana modal en el foro de Frameworks JS en Foros del Web. Hola chicos. Estoy haciendo un proyecto de un portfolio y he tropezado con algo que no puedo solucionar (ya os aviso que no soy ningún ...
  #1 (permalink)  
Antiguo 20/01/2015, 04:52
 
Fecha de Ingreso: octubre-2014
Ubicación: Reino Unido
Mensajes: 8
Antigüedad: 9 años, 6 meses
Puntos: 0
Mostrar una imagen diferente en ventana modal

Hola chicos.

Estoy haciendo un proyecto de un portfolio y he tropezado con algo que no puedo solucionar (ya os aviso que no soy ningún experto en javascript).

Muestro una cuadricula de imagenes con una descripcion que aparece al hacer hover y quiero que cuando haga click, se me abra una ventana modal con otra imagen diferente a la de la cuadricula.

Este esel codigo para la rejilla de imagenes:

Código:
<div class="portfolio">
        <ul>
            <li class="col-lg-3 col-md-2 col-sm-3 col-xs-4">
                <div id="caption" class="mini">
                    <span class="caption fade-caption">  
                        <h3>Fade Caption</h3>  
                        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae, aspernatur.</p>
                        <img id="info" class="sr-only" src="img/portfolio/Inlay/Ballantines.png" alt=""> 
                    </span>
                    <img class="thumb" src="img/portfolio/Booklet/Ballantines.png" alt="">
                </div>
            </li>

            <li class="col-lg-3 col-md-2 col-sm-3 col-xs-4">
                <div id="caption" class="mini">
                    <span class="caption fade-caption">  
                        <h3>Fade Caption</h3>  
                        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quae, aspernatur.</p>
                        <img id="info" class="sr-only" src="img/portfolio/Inlay/Bocatta_CocaCola.png" alt="">  
                    </span>
                    <img class="thumb" src="img/portfolio/Booklet/Bocatta_CocaCola.png" alt="">
                </div>
            </li>

                        
        </ul>
    </div>
Este el de la ventana modal.

Código:
   <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-body">                
                </div>
            </div>
        </div>
    </div>
Y este el javascript para abrirla.

Código:
   $(document).ready(function(){
   $('li #caption').on('click',function(){
        var src = $('#info').attr('src');
        var img = '<img src="' + src + '" class="img-responsive"/>';
        $('#myModal').modal();
        $('#myModal').on('shown.bs.modal', function(){
            $('#myModal .modal-body').html(img);
        });
        $('#myModal').on('hidden.bs.modal', function(){
            $('#myModal .modal-body').html('');
        });
   });  
})
El problema es que cuando hago click en cualquier imagen de la rejilla se ve siempre la imagen "Ballantines.png".

Que he de hacer para que se vea la imagen asociada a cada rejilla?

Gracias de antebrazo!
  #2 (permalink)  
Antiguo 20/01/2015, 08:58
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 9 años, 9 meses
Puntos: 44
Respuesta: Mostrar una imagen diferente en ventana modal

Tenés muchos ids repetidos y eso está generando problemas en tu código, ya que siempre levanta el src del mismo elemento. Te recomiendo que lo soluciones usando clases en vez de ids, ya que las mismas pueden repetirse.

Mientras tanto, podés salir del apuro haciendo algo así:

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.   $('li #caption').on('click',function(){
  3.       var src = $(this).find('#info').attr('src');
  4.       var img = '<img src="' + src + '" class="img-responsive"/>';
  5.  
  6.       console.log(src);
  7.       $('#myModal').modal();
  8.       $('#myModal').on('shown.bs.modal', function(){
  9.           $('#myModal .modal-body').html(img);
  10.       });
  11.       $('#myModal').on('hidden.bs.modal', function(){
  12.           $('#myModal .modal-body').html('');
  13.       });
  14.   });  
  15. });

Saludos
  #3 (permalink)  
Antiguo 20/01/2015, 09:05
 
Fecha de Ingreso: octubre-2014
Ubicación: Reino Unido
Mensajes: 8
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: Mostrar una imagen diferente en ventana modal

Muchas gracias por tu respuesta @GeekGirl.

He estado trasteando con PrettyPhoto y hace todo lo que necesito pero pondré en práctica tu código ya que seguro que me aclara algunas cosas :)

Etiquetas: diferente, javascript, modal, 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 20:26.