hola,
como me veo incapaz de aplicar correctamente el método .on() de jquery a los enlaces <a> con class .gallery que se cargan dinámicamente con ajax, he intentado ejecutar el código jquery que forma la galería una vez cargados los datos por ajax de la siguiente forma, pero sin resultado:
Código Javascript
:
Ver originalCargamos el HTML recibido */
function leerDatosTX()
{
if (oXML.readyState==1)
{
document.getElementById("cargando").style.display= 'block';
document.getElementById("cargando").innerHTML = '<img src="http://www.urldelapágina.com/images/ajax/ajax-loader.gif">';
document.getElementById("documentos").style.display = 'none';
}
else if (oXML.readyState==4)
{
var cadena = oXML.responseText;
var mensajes = cadena.split(",");
var accion = mensajes[0];
if (accion == 'mensajes')
{
for ( i=1;i<mensajes.length;i++ )
{
alert(mensajes[i]);
}
document.getElementById("cargando").style.display= 'none';
document.getElementById("cargando").innerHTML= '';
document.getElementById("documentos").style.display= 'block';
ga('send', 'pageview', urlGO.replace("http://www.urldelapágina.com",""));
}
else if (accion == 'alertas')
{
var atextodi = "";
for ( i=1;i<mensajes.length;i++ )
{
atextodi += mensajes[i] + "<br /> ";
}
document.getElementById("cargando").style.display= 'none';
document.getElementById("cargando").innerHTML= '';
document.getElementById("documentos").style.display= 'block';
document.getElementById(capa).innerHTML = atextodi;
ga('send', 'pageview', urlGO.replace("http://www.urldelapágina.com",""));
}
else if (accion == 'redireccionGU')
{
cadenaURLtx(mensajes[1],mensajes[2],mensajes[3]);
}
else if (accion == 'redireccionGO')
{
OajaxT(mensajes[1]);
}
else
{
document.getElementById("cargando").style.display= 'none';
document.getElementById("cargando").innerHTML= '';
document.getElementById("documentos").style.display= 'block';
document.getElementById("documentos").innerHTML=oXML.responseText;
ga('send', 'pageview', urlGO.replace("http://www.urldelapágina.com",""));
if ( $('.gallery').length > 0 )
{
console.log('Hay ' + $('.gallery').length + ' elementos imagen en el documento');
$('.gallery').each(function() { // the containers for all your galleries
$(this).magnificPopup({
delegate: 'a', // the selector for gallery item
type: 'image',
gallery: {
enabled:true
}
});
});
}
}
}
}
el código que he añadido es este, no hay error, pero creo que no se ejecuta por que no se muestra el mensaje del número de imágenes (console.log):
Código Javascript
:
Ver originalif ( $('.gallery').length > 0 )
{
console.log('Hay ' + $('.gallery').length + ' elementos imagen en el documento');
$('.gallery').each(function() { // the containers for all your galleries
$(this).magnificPopup({
delegate: 'a', // the selector for gallery item
type: 'image',
gallery: {
enabled:true
}
});
});
}
agradecería vuestra ayuda,
un saludo,
josé carlos.