Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Colorbox打开时动态从Colorbox中删除图像_Javascript_Jquery_Colorbox - Fatal编程技术网

Javascript 在Colorbox打开时动态从Colorbox中删除图像

Javascript 在Colorbox打开时动态从Colorbox中删除图像,javascript,jquery,colorbox,Javascript,Jquery,Colorbox,我已经将按钮附加到colorbox并将单击事件绑定到它们,这部分正在工作。 其中一个按钮应从Colorbox数组中删除当前显示的图像,如果有,则前进到下一个 到目前为止,我所尝试的: (一) (二) 调用$.colorbox.next()时,当前图片消失,只显示覆盖,除了刷新页面外,我无法执行任何操作 如何实现这一点?如果cboxLinks是jQuery对象的集合,请尝试使用slice()而不是splice(): 如果cboxLinks是jQuery对象的集合,请尝试使用slice()而不是sp

我已经将按钮附加到colorbox并将单击事件绑定到它们,这部分正在工作。 其中一个按钮应从Colorbox数组中删除当前显示的图像,如果有,则前进到下一个

到目前为止,我所尝试的:

(一)

(二)

调用$.colorbox.next()时,当前图片消失,只显示覆盖,除了刷新页面外,我无法执行任何操作


如何实现这一点?

如果
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();
    }
});