Cuando obtengo imágenes con ajax, me da el error "TypeError: a is undefined" Pero si agrego un enlace de código duro de imágenes como esta en "dynamicEl: [{" src ":" mlphotos / imgs / 564d982d2bed1_kosta.jpg "," thumb ":" mlphotos / imgs / 564d982d2bed1_kosta.jpg ",}]" Entonces funciona bien,
-> Pero quiero cargar imágenes con ajax a continuación son mi código
A continuación se muestra mi código, ayúdame, ¿cuál es el problema aquí?
$ .ajax ({
url: "ajax_viewlarge_click",
tipo: 'POST',
dataType: "json",
éxito: función (datos) {
// -------------------------
foto dinámica = '';
para (var i = 0; i <data.length; i ++) {
foto dinámica + = '{"src": "' + datos [i] + '", "pulgar": "' + datos [i] + '",},';
}
$ .getScript ($ ('# baseUrl'). val () + "/ application / layouts / scripts / themes / trailblazer / js / lg / lightgallery.min.js", function (datas, textStatus, jqxhr) {
var imágenes = "[" + foto dinámica + "]";
$ (esto) .lightGallery ({
dinámico: verdadero,
html: verdadero,
dynamicEl: fotografías
});
});
},
error: función (e) {
console.log ("¡Fallo del servidor! ¿Está apagado el servidor?");
}
});
Creo que estoy experimentando un problema similar. Inicialmente cargo n imágenes y emito una solicitud AJAX en el desplazamiento para obtener más imágenes. Las cinco imágenes iniciales funcionan bien, pero las nuevas no obtienen la funcionalidad (hacer clic en ellas me lleva a la URL de la imagen).
Estoy llamando a $ ('. Container) .lightGallery ({...}); de nuevo en el éxito de AJAX: función (res) {...}.
También estoy usando el complemento Wookmark
Me las arreglé para resolver esto destruyendo correctamente la galería y cargándola nuevamente en el éxito de AJAX: function (res) {...}
Forma adecuada de destruir la galería:
$ lg = $ ('. contenedor');
// destruir
$ lg.data ('lightGallery'). destroy (verdadero);
Queremos actualizar los elementos mientras se abre la galería. Digamos que tenemos una carga más o navegamos hasta el final de los elementos actuales.
Actualmente $lg.data('lightGallery').destroy(true);
cerrará la galería y volverá a crear una instancia de la galería. He hecho una solución temporal para solucionar este problema. ver: https://github.com/reillo/rebuild-lightGallery
¿Podría decirme si tiene una mejor solución para este escenario?
Hola @reillo ,
En la actualidad, no es posible. Pero intentaré incluir un método de actualización en el futuro.
@sachinchoolur ¿ Algún plan de este método futuro?