ユーザーがウィジェットを操作できるユーザー ダッシュボード プロジェクトに取り組んでいます (iGoogle ダッシュボードに非常に似ています)。iframe を保持するために jQueryUI ポートレットを使用しています。私が直面している問題は、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');
}