$ .html()后Jquery colorbox未正确调整大小

时间:2016-08-25 08:15:25

标签: jquery ajax colorbox

我在ajax事件中成功挂钩了这段代码:

success: function (data) {
    $(loadTarget).html(data.details);
    $.colorbox.resize();
}

loadTarget是已打开的彩盒中的div。

问题是颜色框有时无法正确调整大小,就像$ .html()是异步的一样。

根据这个问题Resizing colorbox after loading HTML content into a DIV Ajax回调工作以某种方式神秘而且他们对此负责,但我不明白如果$ .html()在ajax回调中也是如此的原因。

为什么这样以及如何解决?

2 个答案:

答案 0 :(得分:0)

请参阅此链接 https://api.jquery.com/Ajax_Events/

    success (Local Event)

只有在请求成功时才会调用此事件(服务器没有错误,数据没有错误)。

这意味着如果ajax请求仅成功,则实际调用success函数。这意味着数据可能尚未被其他功能或操作使用或处理!

这可能是你的这种行为的原因。!

答案 1 :(得分:0)

原来是图像问题。

$.html()刚刚插入了img标记,并且在加载图片之前发生了$.colorbox.resize()

找到两种修复方法

  1. 使用jquery加载挂钩
  2. 将height属性设置为img(如果已知)