Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/07/2013, 08:24
88bola88
 
Fecha de Ingreso: julio-2013
Mensajes: 1
Antigüedad: 11 años, 4 meses
Puntos: 0
problemas con jquery

hola, bueno primero indicar que soy nuevo en el foro y si no reporto mis dudas en el sitio correcto pido disculpas.
bueno al lio xD
estoy realizando una pagina web en la que intento hacer un menu con vistas en miniatura cargadas desde mysql y con jquery intento mostrar una ventana modal con el video envevido desde vimeo, lo que ocurre es que cuando intento llamar a la función desde el evento en jquery no me carga el la funcion de la ventana modal, en cambio si cargo las ventanas directamente al cargar la pagina si funciona la ventana modal, os dejo el codigo por si me podriais ayudar o aportar alguna idea.
codigo php
Código PHP:
Ver original
  1. funciones.php
  2. <?php
  3.  
  4. include("video.php");
  5.  
  6. $accion=$_POST["tipo"];
  7. $cat=$_POST["categoria"];
  8. if ($accion=="videos"){
  9.    
  10.     video::muestraMinis($cat);
  11. }
  12.  
  13. else{
  14. echo 'error al pasar la accion';
  15. }
  16.  
  17. video.php
  18.  
  19. <?php
  20.  
  21.  
  22. include("db.php");
  23.  
  24. class video{
  25. private $nombre;
  26. private $id;
  27. private $url;
  28. private $cat;
  29. private $imagen;
  30. static private  $vidIni=0;
  31. static private  $nVid=5;
  32.  
  33.  
  34.  
  35.  
  36. private function __construct($id){
  37. $db = DataBase::conectar();
  38. $db->setQuery('SELECT `url`,`nombre`,`frame` ,`id`, `cat` FROM `video` where id=`'.$id.'``');
  39. $videos = $db->loadObjectList();
  40. if(isset($videos[0])){
  41.     this.$nombre=$videos[0]->nombre;
  42.     this.$url=$videos[0]->url;
  43.     this.$id=$videos[0]->id;
  44.     this.$imagen=$videos[0]->frame;
  45.     this.$cat=$videos[0]->cat;
  46. }
  47. else{
  48.     echo "no se encontro video en la bbdd";
  49. }
  50. }
  51.  
  52.  
  53. public static function muestraMinis($cat){
  54.     echo '<ul>';
  55.  
  56. $db = DataBase::conectar();
  57. $db->setQuery('SELECT `url`,`nombre`,`frame` ,`id` FROM `video` WHERE cat = "'.$cat.'"' );
  58. $videos = $db->loadObjectList();
  59.  
  60.     for ( $ini=self::$vidIni;$ini<self::$vidIni+self::$nVid;$ini++) {
  61.         if(isset($videos[$ini])){
  62.         echo '<li>';
  63.         echo '<a href="">'.$videos[$ini]->nombre.'</a>';
  64.         echo '<img src="'.$videos[$ini]->frame.'" longdesc="'.$videos[$ini]->url.'"></img>';
  65.         echo '</li>';
  66.  
  67.         }
  68.     }
  69. echo'</ul>';
  70. }
  71.  
  72. public Static function aumentaVini(){
  73. self::$vidIni+=self::$nVid;
  74. }
  75.  
  76. public Static function disminuyeVini(){
  77. self::$vidIni-=self::$nVid;
  78. }
  79.  
  80. // para pedir los datos a vimeo sobre los videos
  81. //$hash = unserialize(file_get_contents("http://vimeo.com/api/v2/video/$video->url.php"));
  82.  
  83.  
  84.  
  85.  
  86.  
  87. }
  88.  
  89. ?>
div donde inserto las imagenes y las ventana modal

Código HTML:
Ver original
  1. <div id="listvideos">
  2. <button id="sig" name="sig">sig</button>
  3. <button id="atras" name="atras">atras</button>
  4.     <div id="listvideos_content">
  5.    
  6.     </div>
  7. </div>
  8.  
  9. <div id="fade" class="overlay"></div>
  10.     <div id="light"  class="modal">
  11.     <button id="cerrar" name="cerrar" class="fltrt">cerrar</button>
  12.    
  13.   <div id="light-content">
  14.  
  15.   </div>
  16.   </div>

y por ultimo el codigo jquery
Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.      
  3.      
  4.      
  5.       //menu videos
  6.      
  7.        
  8.       $('#videos').click(function(evento){
  9.             llamaDatos();
  10.             evento.preventDefault();
  11.             muestraVideos();
  12.            
  13.                
  14.                    
  15.         });
  16.            
  17.        
  18.        
  19.        
  20.        
  21.        
  22.     });
  23.     //funcion para cargar los datos
  24.     function muestraVideos(){
  25.       $("#listvideos").show(3000);
  26.         $("#listvideos img").click(function(){llamaModal($(this))});
  27.        
  28.    
  29.    
  30.     };
  31.    
  32.     function llamaDatos(){
  33.       $("#listvideos_content").load( "./funciones.php" , {tipo :"videos" , categoria:"otro" });
  34.        
  35.    
  36.    
  37.     };
  38.    
  39.    
  40.     // funcion para llamar a la ventana modal
  41.    
  42.     function llamaModal(elemento){
  43.             $('#light-content').empty();
  44.             var url= elemento.attr("longdesc");
  45.        
  46.              $.getJSON('http://www.vimeo.com/api/oembed.json?url=' + encodeURIComponent('http://vimeo.com/'+url) + '&width=500&callback=?', function(data){
  47.         $('#light-content').html(data.html);
  48.                 });
  49.             //var elementoant=elemento.parent().prev().children("img");;
  50.             //var elementsig=elemento.parent().next().children("img"); 
  51.  
  52.                 $('#light').css('display', 'block');
  53.                 $('#fade').css('display', 'block');
  54.                 // $('#sig').click(function(){
  55.                         // llamaModal(elementsig);
  56.                     // });
  57.                 // $('#sig').click(function(){
  58.                         // llamaModal(elementoant);
  59.                     // });
  60.                 $('#cerrar').click(function(){
  61.                         $('#light').css('display', 'none');
  62.                         $('#fade').css('display', 'none');
  63.                     });
  64.             };

bueno muchas gracias de antemanos y si encuentro la solucion lo reportare. gracias