在 fancybox 关闭后删除加载的元素
Remove loaded element after fancybox closing
如何通过 ajax
调用删除加载的数据,以便在我按下另一个图像时加载相关图像?
这是我的加载代码 fancybox
:
$(document).ready(function () {
$("[data-fancybox]").fancybox({
loop: false,
closeExisting: true,
buttons: [
// "zoom",
//"share",
"slideShow",
// "fullScreen",
//"download",
// "thumbs",
"close"
],
onInit: function (instance) {
let id_album = $("[data-fancybox]").attr('id');
$.ajax({
type: 'POST',
url: './function/retrive-photo.php',
data: {
id_album: id_album
},
dataType: 'json',
success: function (data) {
$.each(data, function (index, item) {
instance.addContent({
'type': 'image',
'src': item.src
});
});
}
});
},
afterClose: function () {
$('.fancybox-content').remove();
console.log("DONE B!");
}
});
});
我尝试使用命令 $('.fancybox-content').remove()
删除通过 ajax
加载的 fancybox
的内容,但它不起作用
改变你的
onInit: function (instance)
{
let id_album = $("[data-fancybox]").attr('id');
至:
onInit: function (instance)
{
let id_album = $("[data-fancybox]").eq(instance.id-1).attr("id");
因为 $("[data-fancybox]")
是一个数组,你得到的是它的 id
,它总是给你第一个。
编辑
变化:
$("[data-fancybox]").fancybox(
{
XXX
});
至:
$("[data-fancybox]").each(function()
{
var that = this;
$(this).fancybox(
{
XXX
});
});
然后将您的 onInit 代码更改为:
let id_album = $(that).attr('id');
如何通过 ajax
调用删除加载的数据,以便在我按下另一个图像时加载相关图像?
这是我的加载代码 fancybox
:
$(document).ready(function () {
$("[data-fancybox]").fancybox({
loop: false,
closeExisting: true,
buttons: [
// "zoom",
//"share",
"slideShow",
// "fullScreen",
//"download",
// "thumbs",
"close"
],
onInit: function (instance) {
let id_album = $("[data-fancybox]").attr('id');
$.ajax({
type: 'POST',
url: './function/retrive-photo.php',
data: {
id_album: id_album
},
dataType: 'json',
success: function (data) {
$.each(data, function (index, item) {
instance.addContent({
'type': 'image',
'src': item.src
});
});
}
});
},
afterClose: function () {
$('.fancybox-content').remove();
console.log("DONE B!");
}
});
});
我尝试使用命令 $('.fancybox-content').remove()
删除通过 ajax
加载的 fancybox
的内容,但它不起作用
改变你的
onInit: function (instance)
{
let id_album = $("[data-fancybox]").attr('id');
至:
onInit: function (instance)
{
let id_album = $("[data-fancybox]").eq(instance.id-1).attr("id");
因为 $("[data-fancybox]")
是一个数组,你得到的是它的 id
,它总是给你第一个。
编辑
变化:
$("[data-fancybox]").fancybox(
{
XXX
});
至:
$("[data-fancybox]").each(function()
{
var that = this;
$(this).fancybox(
{
XXX
});
});
然后将您的 onInit 代码更改为:
let id_album = $(that).attr('id');