entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Problemas al usar el plugin carouFredSel en ventana modal

Estoy usando este plugin muy sencillo de usar, que sirve para crear cualquier tipo de carousel con etiquetas HTML.

El caso es que lo estoy usando en 3 páginas distintas (y funciona todo perfectamente), pero sin embargo cuando lo implemento en una ventana modal, éste mismo ni aparece y en las demás páginas que funciona, el estilo de fondo lo elimina. He visto que si lo quito del modal, vuelven a funcionar los demás perfectamente.

¿A qué es debido esto? Os dejo el código del carousel de la ventana modal:

<section id="rotatorio" class="section text-center">
                                <div class="row">
                                    <?php  
                                        $siTieneCreditos = "SELECT * FROM tbl_credito WHERE id_user =".$_SESSION['id_usuario'];
                                        $resultadoSiTieneCreditos = mysqli_query($conexion,$siTieneCreditos);
                                        $rowSiTieneCreditos = mysqli_fetch_array($resultadoSiTieneCreditos);
                                        $creditosDisponibles = $rowSiTieneCreditos["creditos"];
                                        if($creditosDisponibles >= 100){
                                    ?>
                                            <a class="button radius left btn-foco-chat" href="?seccion=banner">
                                    <?php 
                                        }else{
                                    ?>
                                            <a class="button radius left btn-foco-chat" href="?seccion=creditos">
                                    <?php 
                                        }
                                    ?>
                                        <img width="20" class="icon-ponmeaqui" src="img/ponmeaqui.png"> Ponme aquí
                                    </a>
                                    <div class="carousel-rotativo-chat responsive radius">
                                        <div class="caroufredsel_wrapper">
                                            <ul id="rotativo-thumbs">
                                                <?php 
                                                    $sqlBanner = "SELECT * FROM T_BANNER";
                                                    $resultadoBanner = mysqli_query($conexion,$sqlBanner);
                                                    while($rowBanner = mysqli_fetch_array($resultadoBanner)){
                                                        $fechaFinCiclo = date('Y-m-d H:i:s');
                                                        $fechaFinBanner = $rowBanner["FECHA_FIN"];
                                                        if(strtotime($fechaFinCiclo) <= strtotime($fechaFinBanner)){
                                                            $sqlBannerUsuario = "SELECT * FROM T_USUARIOS WHERE ID =".$rowBanner["ID_USER"];
                                                            $resultadoBannerUsuario = mysqli_query($conexion,$sqlBannerUsuario);
                                                            while($rowBannerUsuario = mysqli_fetch_array($resultadoBannerUsuario)){
                                                ?>
                                                                <li class="status">
                                                                    <a class="rotatorio-enlace" href="http://aliquapp.com/chatiic/?seccion=miembros&id=<?php echo $rowBannerUsuario['ID']; ?>">
                                                                        <?php if($rowBannerUsuario["SEXO"]=="Hombre"){ ?>
                                                                        <img src="http://aliquapp.com/chatiic/uploads/avatars/<?php echo $rowBannerUsuario['ID']; ?>/<?php echo $rowBannerUsuario['FOTO_PERFIL']; ?>" class="avatar-hombre user-<?php echo $rowBannerUsuario['ID']; ?>-avatar avatar-120 photo" width="120" height="120" alt="Imagen de avatar">
                                                                        <?php }else{ ?>
                                                                        <img src="http://aliquapp.com/chatiic/uploads/avatars/<?php echo $rowBannerUsuario['ID']; ?>/<?php echo $rowBannerUsuario['FOTO_PERFIL']; ?>" class="avatar-mujer user-<?php echo $rowBannerUsuario['ID']; ?>-avatar avatar-120 photo" width="120" height="120" alt="Imagen de avatar">
                                                                        <?php } ?>
                                                                    </a>
                                                                </li>
                                                <?php
                                                            }
                                                        } 
                                                    }
                                                ?>
                                            </ul>
                                        </div><!-- /.caroufredsel_wrapper -->
                                        <script type="text/javascript">
                                          jQuery(document).ready(function() {
                                              jQuery('#rotativo-thumbs').carouFredSel({
                                                  width: '750',
                                                  mousewheel: true,
                                                  swipe: {
                                                      onMouse: true,
                                                      onTouch: true
                                                  },
                                                  scroll: {
                                                      items: 1,
                                                      duration: 500,
                                                      fx: "directscroll",
                                                  },
                                                  auto: {
                                                      pauseOnHover: 'resume',
                                                      progress: '#timer1'
                                                  },
                                                  prev  : { 
                                                      button    : "#rotativo-thumbs-prev",
                                                      key       : "left"
                                                  },
                                                  next  : { 
                                                      button    : "#rotativo-thumbs-next",
                                                      key       : "right"
                                                  },
                                                  pagination    : "#rotativo-thumbs-pag",
                                                  items: {
                                                    visible: {
                                                          min: 6,
                                                          max: 6                  }
                                                  }
                                              });        
                                          });
                                        </script>
                                    </div><!-- /.carousel-rotativo-grupo-surja -->
                                </div><!-- /.row -->
                            </section><!-- /#rotatorio -->
                          </div>

0voto

Leonardo-Tadei comentado

Hola Daniel,

para que alguien pueda ayudarte, deberías poner solo la salida HTML que genera tu página, incluyendo el código HTML que contiene a la ventana modal.

Así como está, hasta podría ser que tu query resulte vacía y que no haya elementos en el UL para generar el carrousel.

Por cierto, es una muy mala práctica la mezcla de tu código de HTML, PHP y querys... y además es más difícil de debbuguear.

Saludos

0voto

danielreales7 comentado

La salida html es igual, pero me devuelve elementos dentro del ul.
Me aparece todo correctamente solo que no se muestra en el modal, y encima me desconfigura los otros elementos que son igual que éste que se encuentrarn en la misma página.

No sé si será el z-index pero no se llega a ver.

Y si sé que es mala práctica pero ahora mismo lo tengo así, tengo que cambiarlo, un saludo!

0voto

Leonardo-Tadei comentado

Hola Daniel,

la salida HTML no puede ser igual, porque ahí no se verá el código PHP.

Para poder ayudarte, cargá la paǵina en tu navegador, presioná Ctrl + U para ver el fuente generado, y envianos ese HTML estático.

Hace falta toda la página porque la causa del error no está en la porción de código que estás poniendo...

0voto

danielreales7 comentado

<section id="rotatorio" class="section text-center">
                                <div class="row">
                                                                                    <a class="button radius left btn-foco-chat" href="?seccion=banner">
                                                                                <img width="20" class="icon-ponmeaqui" src="img/ponmeaqui.png"> Ponme aquí
                                    </a>
                                    <div class="carousel-rotativo-chat responsive radius">
                                        <div class="caroufredsel_wrapper">
                                            <ul id="rotativo-thumbs2" style="z-index: 2000;">
                                                                                                                    <li class="status">
                                                                    <a class="rotatorio-enlace" href="http://aliquapp.com/chatiic/?seccion=miembros&id=1162">
                                                                                                                                                    <img src="http://aliquapp.com/chatiic/uploads/avatars/1162/03b005a93b86d3aad6e4751e6e78ca4f-bpfull.jpg" class="avatar-hombre user-1162-avatar avatar-120 photo" width="120" height="120" alt="Imagen de avatar">
                                                                                                                                                </a>
                                                                </li>
                                                                                                </ul>
                                        </div><!-- /.caroufredsel_wrapper -->
                                        <script type="text/javascript">
                                          jQuery(document).ready(function() {
                                              jQuery('#rotativo-thumbs2').carouFredSel({
                                                  width: '750',
                                                  mousewheel: true,
                                                  swipe: {
                                                      onMouse: true,
                                                      onTouch: true
                                                  },
                                                  scroll: {
                                                      items: 1,
                                                      duration: 500,
                                                      fx: "directscroll",
                                                  },
                                                  auto: {
                                                      pauseOnHover: 'resume',
                                                      progress: '#timer1'
                                                  },
                                                  prev  : { 
                                                      button    : "#rotativo-thumbs-prev",
                                                      key       : "left"
                                                  },
                                                  next  : { 
                                                      button    : "#rotativo-thumbs-next",
                                                      key       : "right"
                                                  },
                                                  pagination    : "#rotativo-thumbs-pag",
                                                  items: {
                                                    visible: {
                                                          min: 6,
                                                          max: 6                  }
                                                  }
                                              });        
                                          });
                                        </script>
                                    </div><!-- /.carousel-rotativo-grupo-surja -->
                                </div><!-- /.row -->
                            </section><!-- /#rotatorio -->

Esto es lo que me devuelve la página, como ves me devuelve la lista, en este caso li class="status" y ahí es donde me devuelve la imagen del usuario, pero no se muestra en el modal, sin embargo en otros elementos de la página que uso si se muestra. (Este otro no es un modal sino en la página en sí)

0voto

Leonardo-Tadei comentado

Hola Daniel,

te reitero que el problema no está en este código, sino en el llamador y su definición de clases y su JavaScript.

Este código que ponés está bien: es el código HTML en que es incrustado el que lo usa mal... y sin ese código no podremos saber qué pasa.

No podrías poner una versión estática de TODA la página para poder verla? De otra forma, yo no sabría como ayudarte...

0voto

danielreales7 comentado

Lo siento por no entenderte, pero de donde llamo a este modal, es de un enlace muy simple como este.

<li><a data-toggle="modal" data-target="#chat_panel" href="#">Chat</a></li>

Toda la página es muy larga para ponerla aquí.

0voto

danielreales7 comentado

view-source:http://aliquapp.com/chatiic/?seccion=paginaprincipal

Haber si escribiendo eso en el navegador lo logras ver!

0voto

Leonardo-Tadei comentado

Hola Daniel,

en el código que pusiste no aparece #chat_panel en un tag A...

Todo parece redirigir a #register_panel y a #forgot_panel, como si el contenido fuera el de una persona que no está logueada.

0voto

danielreales7 comentado

Buenas Leonardo.

No está en un tag a, está en un div con ese id. Pero la ventana modal me la abre bien, lo que no se ve es el código que hay dentro de él, es más ni se muestra. Pero no se muestra el carousel, los demás elementos sí.

0voto

Leonardo-Tadei comentado

No entiendo nada: en tu mensaje anterior decís que la ventana modal era llamada desde

<li><a data-toggle="modal" data-target="#chat_panel" href="#">Chat</a></li>

que sí es un enlace A :-(

El problema está en el llamador, y no en el contenido modal mostrado!!!

0voto

danielreales7 comentado

Sí desde ahí es llamada. Como en el mensaje anterior me has puesto que no aparece #chat_panel en un tag A... quizás me haya explicado mal. ¿Y qué problema puedo tener entonces ahí para que no se vea?

0voto

carlossevi comentado

Estoy en la misma posición que @Leonardo-Tadei, dices que la llamada al modal está en la línea:

<li><a data-toggle="modal" data-target="#chat_panel" href="#">Chat</a></li>

y que el modal que se abre es #chat_panel pero en el código de la página http://aliquapp.com/chatiic/?seccion=paginaprincipal que nos pasas no aparece el texto ""#chat_panel" por ningún sitio.

0voto

Leonardo-Tadei comentado

Preguntás: "¿Y qué problema puedo tener entonces ahí para que no se vea?"

Pues varios: javascript que cambie o neutralice el carrousel, falta de componentes javascript para que se ejecute, CSS que mueva, oculte o algo al contenedor del carrousel...

Son sospechas, porque todavía no pudimos ver el código... y es lo que te estoy pidiendo desde el primer comentario.

Es mucho más fácil, Daniel, si enviás lo que se te pide desde el principio, y si no entendés qué es, pedir las aclaraciones que necesites :-(

0voto

danielreales7 comentado

Si el texto #chat_panel no debe de aparecer, ahí llamo al modal y me lo abre. Pero lo que necesito es que se muestre el carousel que está en ese mismo modal, y del carousel solo me muestra un botón de Ponme aquí, lo demás que hago una consulta a la BD y tal no me la muestra. Inspeccionando el elemento de la web me dice que existen esos datos y donde están situados, y están bien pero no se mustran realmente. Ahora mismo no veréis ningún elemento del ul donde muestro los datos porque no existe.

Igual que la ventana modal no la podéis ver porque hay que estar logueado.

0voto

danielreales7 comentado

Y Leonardo, los problemas que me comentas, porque ese mismo carousel que lo tengo en la web normal (sin modal) se ejecuta perfectamente en 3 páginas diferentes y en el caso del modal no se ve?

Por eso te dije si podía ser del z-index... (que lo he cambiado y tal pero nada)

0voto

carlossevi comentado

Si estamos hablando de una ventana modal hecha con HTML+CSS y lanzada desde JS sólo hay dos opciones:

  1. El HTML del modal está en el código de la página.
  2. El HTML del modal se carga más tarde mediante una llamada AJAX (algo más raro).

En cualquier caso, el texto #chat_panel debe aparecer en el enlace que carga el modal e incluso en el caso 1 (el más normal) el código del modal también debería estar en el código.

No estoy entendiendo por qué dices que el texto no debe aparecer ¿entonces cómo cargas el modal?

0voto

Leonardo-Tadei comentado

+1 al comentario de @carlossevi.

Daniel se refiere al "modal" como si se tratase de algo más que un simple DIV que cubre toda la página. El DIV tiene que tener su HTML dentro, y este HTML nunca debe ser una página completa, a diferencia de cómo funcionaría un iframe.

En este mundo, las cosas son únicamente HTML + CSS + JavaScript... aunque estas 3 cosas se generen programaticamente desde PHP, Python, Java o Haskell

... y a esta altura, a mi me sigue sin quedar claro cual es la página que carga el "modal" y cual es el contenido a mostrar dentro, ni mucho menos, como dice Carlos, como es invocado este contenido :-(

0voto

danielreales7 comentado

El html del modal está en el código de la página, es el siguiente:

<div class="modal-footer">
                            <section id="rotatorio" class="section text-center">
                                <div class="row">
                                    <?php  
                                        $siTieneCreditos = "SELECT * FROM tbl_credito WHERE id_user =".$_SESSION['id_usuario'];
                                        $resultadoSiTieneCreditos = mysqli_query($conexion,$siTieneCreditos);
                                        $rowSiTieneCreditos = mysqli_fetch_array($resultadoSiTieneCreditos);
                                        $creditosDisponibles = $rowSiTieneCreditos["creditos"];
                                        if($creditosDisponibles >= 100){
                                    ?>
                                            <a id="ponme-chat" class="button radius left btn-foco-chat" href="?seccion=banner">
                                    <?php 
                                        }else{
                                    ?>
                                            <a id="ponme-chat" class="button radius left btn-foco-chat" href="?seccion=creditos">
                                    <?php 
                                        }
                                    ?>
                                        <img width="20" class="icon-ponmeaqui" src="img/ponmeaqui.png"> Ponme aquí
                                    </a>
                                    <div class="carousel-rotativo-chat responsive radius">
                                        <div class="caroufredsel_wrapper">
                                            <ul id="rotativo-thumbs2" style="z-index: 2000;">
                                                <?php 
                                                    $sqlBanner = "SELECT * FROM T_BANNER";
                                                    $resultadoBanner = mysqli_query($conexion,$sqlBanner);
                                                    while($rowBanner = mysqli_fetch_array($resultadoBanner)){
                                                        $fechaFinCiclo = date('Y-m-d H:i:s');
                                                        $fechaFinBanner = $rowBanner["FECHA_FIN"];
                                                        if(strtotime($fechaFinCiclo) <= strtotime($fechaFinBanner)){
                                                            $sqlBannerUsuario = "SELECT * FROM T_USUARIOS WHERE ID =".$rowBanner["ID_USER"];
                                                            $resultadoBannerUsuario = mysqli_query($conexion,$sqlBannerUsuario);
                                                            while($rowBannerUsuario = mysqli_fetch_array($resultadoBannerUsuario)){
                                                ?>
                                                                <li class="status">
                                                                    <a class="rotatorio-enlace" href="http://aliquapp.com/chatiic/?seccion=miembros&id=<?php echo $rowBannerUsuario['ID']; ?>">
                                                                        <?php if($rowBannerUsuario["SEXO"]=="Hombre"){ ?>
                                                                        <img src="http://aliquapp.com/chatiic/uploads/avatars/<?php echo $rowBannerUsuario['ID']; ?>/<?php echo $rowBannerUsuario['FOTO_PERFIL']; ?>" class="avatar-hombre user-<?php echo $rowBannerUsuario['ID']; ?>-avatar avatar-120 photo" width="120" height="120" alt="Imagen de avatar">
                                                                        <?php }else{ ?>
                                                                        <img src="http://aliquapp.com/chatiic/uploads/avatars/<?php echo $rowBannerUsuario['ID']; ?>/<?php echo $rowBannerUsuario['FOTO_PERFIL']; ?>" class="avatar-mujer user-<?php echo $rowBannerUsuario['ID']; ?>-avatar avatar-120 photo" width="120" height="120" alt="Imagen de avatar">
                                                                        <?php } ?>
                                                                    </a>
                                                                </li>
                                                <?php
                                                            }
                                                        } 
                                                    }
                                                ?>
                                            </ul>
                                        </div><!-- /.caroufredsel_wrapper -->
                                        <script type="text/javascript">
                                          jQuery(document).ready(function() {
                                              jQuery('#rotativo-thumbs2').carouFredSel({
                                                  width: '750',
                                                  mousewheel: true,
                                                  swipe: {
                                                      onMouse: true,
                                                      onTouch: true
                                                  },
                                                  scroll: {
                                                      items: 1,
                                                      duration: 500,
                                                      fx: "directscroll",
                                                  },
                                                  auto: {
                                                      pauseOnHover: 'resume',
                                                      progress: '#timer1'
                                                  },
                                                  prev  : { 
                                                      button    : "#rotativo-thumbs-prev",
                                                      key       : "left"
                                                  },
                                                  next  : { 
                                                      button    : "#rotativo-thumbs-next",
                                                      key       : "right"
                                                  },
                                                  pagination    : "#rotativo-thumbs-pag",
                                                  items: {
                                                    visible: {
                                                          min: 6,
                                                          max: 6                  }
                                                  }
                                              });        
                                          });
                                        </script>
                                    </div><!-- /.carousel-rotativo-grupo-surja -->
                                </div><!-- /.row -->
                            </section><!-- /#rotatorio -->
                          </div>

Este es el footer del modal, arriba tengo más cosas que se ven, y por ejemplo el ponme aquí se ve, pero la lista que viene debajo no se muestra, aunque en el código si aparece.

0voto

Leonardo-Tadei comentado

Daniel!!!

De dónde cuernos se llama a ese código!!!

Queda claro que es de un tag A, porque respondés eso más arriba, pero por favor, poné entera la página que llama a esto para poder ayudarte.

0voto

danielreales7 comentado

Dios mío, aún no sé que quieres que te mande realmente, estoy tan confuso que me he perdido jajaja.

Lo llamo del tag a, y me abre todo el modal (esto es la parte de arriba que no te mostre antes:

<div class="modal fade in" id="chat_panel" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="top: 100px;">
                      <div class="modal-dialog">
                        <div class="modal-content" id="panel-chat" style="background-color: white !important;">
                          <div class="modal-header" id="cerrar-chat">
                            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                          </div>
                          <div class="modal-body" id="alto-buscador">

Si no es esto, da igual, ya intentaré sacarlo jajaja, lo siento Leonardo pero de verdad aun no sé que necesitas.

0voto

Leonardo-Tadei comentado

Lo que te estoy pidiendo, Daniel, es el código HTML completo de la página de la que ponés una porción acá arriba.

El código tal y como se vea en tu navegador al precionar Ctrl+U (o la combinación que sea que te muestre el código fuente)

0voto

danielreales7 comentado

Te pase el enlace arriba: view-source:http://aliquapp.com/chatiic/ Ahí está el código fuente de esa página completo, si te lo copio y pego aquí no cabe porque es demasiado largo.

0voto

danielreales7 comentado

O te lo voy pegando a trozos aquí?

0voto

Leonardo-Tadei comentado

Daniel,

tal y como te decia @carlossevi y yo mismo hace nosecuantos comentarios, en el código de http://aliquapp.com/chatiic/ no aparece la línea:

<li><a data-toggle="modal" data-target="#chat_panel" href="#">Chat</a></li>

que es en la que decís que se abre el DIV que hace la función de ventana modal.

Vos ves esa línea accediendo al enlace que nos das??? No será contenido que solo se ve cuando estás logueado, porque en lugar de poner nua versión estática del fuente del navegador nos estás enviando a una sección solo accesible a usuario logueados???

0voto

danielreales7 comentado

Ah ahora sí, cierto eso se muestra al estar logueado. Debes estar logueado para verlo.

Entonces que te paso? Porque ya te lo he pasado todo antes, lo siento por la estupidez.

0voto

Leonardo-Tadei comentado

Hola Daniel,

hacé lo siguiente:

  • entrá al sitio y logueate.
  • viendo la página que dispara la ventana modal, apretá Ctrl+U (o la combinación que sea en tu navegador para ver el fuente HTML)
  • revisá que el código HTML que ves se corresponda con la página que se ve cuando estás logueado.
  • seleccioná todo el código y pegalo en un archivo de texto plano.
  • guardá el archivo y ponele de nombre por ejemplo intento28.html (el nombre no importa, pero la extensión sí)
  • subilo al sitio y ponelo en el mismo directorio que la página real.
  • envianos el URL.para verlo.

Si no sabés como hacer algún paso o te trabás, no subas nada y preguntá, porque no servirá si está incompleto o mal.

Saludos!

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta