Javascript 通过Ajax加载内容后调整colorbox的大小

Javascript 通过Ajax加载内容后调整colorbox的大小,javascript,jquery,html,ajax,colorbox,Javascript,Jquery,Html,Ajax,Colorbox,我在颜色框中打开了一些HTML内容,数据通过Ajax调用填充。在某些情况下,它工作正常,但在少数情况下,弹出窗口是失真的。 我知道这个问题的根本原因,但不确定如何解决这个问题;在我的ajaxComplete方法中,但这并没有按预期工作 在做了一些调试之后,我发现问题在于使用社交共享插件。 我也在使用AddThis社交共享插件,该插件在使用Ajax调用时存在一些已知问题。 如果我们通过Ajax加载内容并使用AddThis加载内容,我们需要重新初始化AddThis插件 因此,为了使这个功能正常工作,

我在颜色框中打开了一些HTML内容,数据通过Ajax调用填充。在某些情况下,它工作正常,但在少数情况下,弹出窗口是失真的。 我知道这个问题的根本原因,但不确定如何解决这个问题;在我的ajaxComplete方法中,但这并没有按预期工作

在做了一些调试之后,我发现问题在于使用社交共享插件。 我也在使用AddThis社交共享插件,该插件在使用Ajax调用时存在一些已知问题。 如果我们通过Ajax加载内容并使用AddThis加载内容,我们需要重新初始化AddThis插件

因此,为了使这个功能正常工作,我必须在JSP文件中添加以下代码,该文件用于加载Ajax内容。 此JS代码是内联的,在使用Ajax加载此JSP页面内容时将被触发

<script type="text/javascript">
var addthis_config = addthis_config||{};
addthis_config.pubid = '${addThisPubId}';
$.getScript( "https://s7.addthis.com/js/300/addthis_widget.js?domready=1#pubid=${addThisPubId}");
$(function () {addthis.init();
});
</script> 
使用上面的代码add,工作正常。 由于上面的代码试图重新初始化AddThis脚本,因此在AddThis finsih加载内容之前会显示弹出内容,一旦AddThis完成工作,调用$.fn.colorbox.resize就为时已晚


是否有任何方法可以调用$.fn.colorbox.resize,在AddThis完成加载其内容后

您可以使用AddThis JavascriptEvents,在AddThis初始化准备就绪时尝试

// Invoked when the AddThis API is ready
function addthisReady(evt) {
    $.fn.colorbox.resize();
}

// Listen for the ready event
addthis.addEventListener('addthis.ready', addthisReady);

请张贴相应的代码,因为我们无法告诉你你把电话放在AddThis的哪个位置code@user3241019:你说的是哪种代码?一旦AddThis完成了它的工作,就太晚了,那么在AddThis代码中加载内容后,你必须找到放行的位置,或者发布。@user3241019:抱歉,但仍然没有得到您想要的内容。。我在帖子中提到的javascript代码是从服务器发送的HTML的一部分,在客户端加载数据后将立即执行。我已经在$document.ajaxCompletefunctionevent,xhr,settings中编写了$.fn.colorbox.resize,但是当ajaxComplete执行时,AddThis还没有完成加载数据使用我在帖子中提到的Javascript代码添加此加载数据谢谢你的建议,我之前尝试过但没有成功,可能是我做错了什么。你能告诉我需要将AddThis放在哪里吗。addEventListener'AddThis.ready',addthisReady;codeI会把它放在addthis.init之前;如下:$function{addthis.addEventListener'addthis.ready',addthisReady;addthis.init;};