2012-02-21 17 views
4

私は同様の質問に対する多くの回答を見てきました。私はJavaScriptに新たなんだが、これまで十分なiframe内に表示するように私の結果を得るために持っているが、私は提案したコードをしようとすると:カラーボックスiframeのサイズを変更

$.colorbox({ ... url, iframe true, etc 

onComplete : function() { 
     $.fn.colorbox.resize(innerHeight); 
     } 

ウィンドウがに150pixels高いサイズ変更します。ページのHTMLに何が含まれているかにかかわらず。理想的には、検索結果のサイズが開き、新しい検索が実行されるたびに呼び出すことができますが、colorbox.resize()のバリエーションは何も参照していません。ナダ。

ご協力いただければ幸いです。

答えて

1

引数なしでresize()を試しましたか?それは独自の自動計算でサイズ変更する必要があります。 しかし、あなたはまた、より多くの情報のため

$.fn.colorbox.resize({innerHeight:innerHeight}); 

チェックこのlinkを試すことができます。

+0

これは、コンテンツではなくブラウザのウィンドウサイズに基づいてウィンドウのサイズを変更します。それは正しい方向への一歩ですが、大きなものではありません。おかげさまで、他のアイデアはありますか? -Matt – user1223248

14

Iframeのコンテンツに従ってサイズを変更する場合は、サイズを変更するコードがIframeのコンテンツ内にある必要があります。なぜなら、Iframeだけがそれがどのコンテンツに含まれているのかを知っているから、それをロードする親ウィンドウではないからです。あなたのインラインフレームの内容で は、ヘッド部にこのコードを入れインラインフレームが完全にこのコードが実行されるロードされ、あなたのカラーボックスのウィンドウのサイズが変更されます

<script type="text/javascript"> 
    function Resize_Box(){ 
     var x = $('body').width(); 
     var y = $('body').height(); 
     parent.$.fn.colorbox.resize({ 
      innerWidth: x, 
      innerHeight: y 
     }); 
    } 

    $(document).ready(function(){ 
     Resize_Box(); 
    }); 
</script> 

。 (このコードは、親とIframeで同じドメインを使用している場合のみ有効です)

+0

は魅力のように機能しますが、なぜ受け入れられない答えとしてマークされていません –

関連する問題