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 originalfunciones.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++) {
if(isset($videos[$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"));
}
?>
div donde inserto las imagenes y las ventana modal
Código HTML:
Ver original <div id="listvideos_content">
<div id="fade" class="overlay"></div> <div id="light" class="modal"> <button id="cerrar" name="cerrar" class="fltrt">cerrar
</button>
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