当内容展开时,在jQuery动画期间展开Iframe

当内容展开时,在jQuery动画期间展开Iframe,jquery,html,css,jquery-ui,iframe,Jquery,Html,Css,Jquery Ui,Iframe,我正在开发一个用户仪表板项目,用户可以在其中与小部件交互(非常类似于iGoogle仪表板)。我正在使用jQueryUI Portlet来保存iFrame。我遇到的问题是,当iframe中的内容使用jQuery动画展开时,我希望实时调整iframe的大小。例如,我在iframe中有一个自定义手风琴控件。当用户单击面板展开手风琴时,我调用slideDown()函数来显示内容。slideDown()动画完成后,我会根据身体的新高度调整iframe的大小。结果是手风琴的内容向下滑动,直到它们在幻灯片动画

我正在开发一个用户仪表板项目,用户可以在其中与小部件交互(非常类似于iGoogle仪表板)。我正在使用jQueryUI Portlet来保存iFrame。我遇到的问题是,当iframe中的内容使用jQuery动画展开时,我希望实时调整iframe的大小。例如,我在iframe中有一个自定义手风琴控件。当用户单击面板展开手风琴时,我调用slideDown()函数来显示内容。slideDown()动画完成后,我会根据身体的新高度调整iframe的大小。结果是手风琴的内容向下滑动,直到它们在幻灯片动画期间超出小部件的范围。动画完成后,调整大小会考虑新的小部件高度,一切看起来都很好。这是一个非常起伏的动画,我想调整iframe的大小,以便它在slideDown()动画期间扩展到iframe的身体高度。在幻灯片动画期间,如何根据身体高度展开iframe

这是我目前正在使用的代码

// This code gets fired on an accordion panel click event.
content.slideDown(100, function ()
{
    parent.expandContainer('panel1', $('body').height());
});     

// This code resides in the parent page hosting the iframes.
function expandContainer(elementId, height)
{
    $('#' + elementId).children('.content').find('iframe').css('height', height + 'px');
}   

根据我的研究,Iframe无法扩展。必须给它们一个固定的宽度和高度。

有可能,您必须制作一个手风琴以获得所执行动画的步长事件

我已经创建了一个动画框。如果长方体变大或变小,步骤事件将调用函数resizeIframe(height)。 此函数再次调用父文档中的同名函数resizeIframe(height)。尝试此演示:


jquery accordion在其API中有一个事件,该事件在动画完成时触发:

激活面板后触发(动画完成后)。


使用此事件触发iframe调整大小对我来说很好。

尝试将“顶部”和“底部”设置为0,而不是使用“高度:100%;我试过了,但没用。这些属性不是绝对定位元素的属性吗?它们是。如果你不介意绝对定位你的iframe,这只是一个选择。你是认真的吗?尝试这种方法:当然可以调整大小。问题是什么时候用手风琴调整大小(如何检测何时完成转换?)