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:
div donde inserto las imagenes y las ventana modalVer original
funciones.php <?php include("video.php"); $accion=$_POST["tipo"]; $cat=$_POST["categoria"]; if ($accion=="videos"){ video::muestraMinis($cat); } else{ echo 'error al pasar la accion'; } video.php <?php include("db.php"); class video{ private $nombre; private $id; private $url; private $cat; private $imagen; static private $vidIni=0; static private $nVid=5; private function __construct($id){ $db = DataBase::conectar(); $db->setQuery('SELECT `url`,`nombre`,`frame` ,`id`, `cat` FROM `video` where id=`'.$id.'``'); $videos = $db->loadObjectList(); this.$nombre=$videos[0]->nombre; this.$url=$videos[0]->url; this.$id=$videos[0]->id; this.$imagen=$videos[0]->frame; this.$cat=$videos[0]->cat; } else{ echo "no se encontro video en la bbdd"; } } public static function muestraMinis($cat){ echo '<ul>'; $db = DataBase::conectar(); $db->setQuery('SELECT `url`,`nombre`,`frame` ,`id` FROM `video` WHERE cat = "'.$cat.'"' ); $videos = $db->loadObjectList(); for ( $ini=self::$vidIni;$ini<self::$vidIni+self::$nVid;$ini++) { echo '<li>'; echo '<a href="">'.$videos[$ini]->nombre.'</a>'; echo '<img src="'.$videos[$ini]->frame.'" longdesc="'.$videos[$ini]->url.'"></img>'; echo '</li>'; } } echo'</ul>'; } public Static function aumentaVini(){ self::$vidIni+=self::$nVid; } public Static function disminuyeVini(){ self::$vidIni-=self::$nVid; } // para pedir los datos a vimeo sobre los videos //$hash = unserialize(file_get_contents("http://vimeo.com/api/v2/video/$video->url.php")); } ?>
Código HTML:
Ver original
y por ultimo el codigo jquery
Código Javascript:
Ver original
$(document).ready(function() { //menu videos $('#videos').click(function(evento){ llamaDatos(); evento.preventDefault(); muestraVideos(); }); }); //funcion para cargar los datos function muestraVideos(){ $("#listvideos").show(3000); $("#listvideos img").click(function(){llamaModal($(this))}); }; function llamaDatos(){ $("#listvideos_content").load( "./funciones.php" , {tipo :"videos" , categoria:"otro" }); }; // funcion para llamar a la ventana modal function llamaModal(elemento){ $('#light-content').empty(); var url= elemento.attr("longdesc"); $.getJSON('http://www.vimeo.com/api/oembed.json?url=' + encodeURIComponent('http://vimeo.com/'+url) + '&width=500&callback=?', function(data){ $('#light-content').html(data.html); }); //var elementoant=elemento.parent().prev().children("img");; //var elementsig=elemento.parent().next().children("img"); $('#light').css('display', 'block'); $('#fade').css('display', 'block'); // $('#sig').click(function(){ // llamaModal(elementsig); // }); // $('#sig').click(function(){ // llamaModal(elementoant); // }); $('#cerrar').click(function(){ $('#light').css('display', 'none'); $('#fade').css('display', 'none'); }); };
bueno muchas gracias de antemanos y si encuentro la solucion lo reportare. gracias