Javascript 在Colorbox打开时动态从Colorbox中删除图像
我已经将按钮附加到colorbox并将单击事件绑定到它们,这部分正在工作。 其中一个按钮应从Colorbox数组中删除当前显示的图像,如果有,则前进到下一个 到目前为止,我所尝试的: (一) (二) 调用$.colorbox.next()时,当前图片消失,只显示覆盖,除了刷新页面外,我无法执行任何操作Javascript 在Colorbox打开时动态从Colorbox中删除图像,javascript,jquery,colorbox,Javascript,Jquery,Colorbox,我已经将按钮附加到colorbox并将单击事件绑定到它们,这部分正在工作。 其中一个按钮应从Colorbox数组中删除当前显示的图像,如果有,则前进到下一个 到目前为止,我所尝试的: (一) (二) 调用$.colorbox.next()时,当前图片消失,只显示覆盖,除了刷新页面外,我无法执行任何操作 如何实现这一点?如果cboxLinks是jQuery对象的集合,请尝试使用slice()而不是splice(): 如果cboxLinks是jQuery对象的集合,请尝试使用slice()而不是sp
如何实现这一点?如果
cboxLinks
是jQuery对象的集合,请尝试使用slice()
而不是splice()
:
如果
cboxLinks
是jQuery对象的集合,请尝试使用slice()
而不是splice()
:
我的解决方案。这不是最优雅的方式,但对我来说很有效
$('body').on('click', 'a.remove-from-favorites', function(){
// 'a.remove-from-favorites' is appended to colorbox div.
toremove = $('a.colorbox#id');
target = ( toremove.next().length ) ? toremove.next() : ( toremove.prev().length )? toremove.prev() : false;
toremove.remove();
if (target) {
target.find('a.ims-colorbox').trigger('click');
} else {
$.colorbox.close();
}
});
简而言之:
- 确定下一个要显示的图片是否剩余
- 从DOM中删除指向当前图片的链接
- 在下一张图片的链接上触发“单击”事件,或者如果没有剩余图片,则关闭颜色框
如果您找到更好的解决方案,请告诉我。我的解决方案。这不是最优雅的方式,但对我来说很有效
$('body').on('click', 'a.remove-from-favorites', function(){
// 'a.remove-from-favorites' is appended to colorbox div.
toremove = $('a.colorbox#id');
target = ( toremove.next().length ) ? toremove.next() : ( toremove.prev().length )? toremove.prev() : false;
toremove.remove();
if (target) {
target.find('a.ims-colorbox').trigger('click');
} else {
$.colorbox.close();
}
});
简而言之:
- 确定下一个要显示的图片是否剩余
- 从DOM中删除指向当前图片的链接
- 在下一张图片的链接上触发“单击”事件,或者如果没有剩余图片,则关闭颜色框
如果您找到更好的解决方案,请告诉我。cboxLinks确实是jQuery对象的集合。带CboxLink。拼接(0,1);我从该数组中删除了第一个元素。cboxLinks实际上是jQuery对象的集合。带CboxLink。拼接(0,1);我从该数组中删除第一个元素。
cboxLinks.slice(0,1);
$('body').on('click', 'a.remove-from-favorites', function(){
// 'a.remove-from-favorites' is appended to colorbox div.
toremove = $('a.colorbox#id');
target = ( toremove.next().length ) ? toremove.next() : ( toremove.prev().length )? toremove.prev() : false;
toremove.remove();
if (target) {
target.find('a.ims-colorbox').trigger('click');
} else {
$.colorbox.close();
}
});