2010-07-13 53 views
4

我正在使用Fancybox通過AJAX加載某些內容。jQuery Fancybox不會在確定其尺寸之前等待加載AJAX內容

內容:

<div class="container"> 
    <h2>An image</h2> 
    <div class="span-16 colborder center clearfix"> 
    <img src="/system/images/apple.jpg"> 
    </div> 

    <div class="span-7 last clearfix"> 
    something here 
    <br> 
    something here 
    </div> 
    <div class="span-24 last"> 
    FOOTER FOOTER FOOTER 
    </div> 
</div> 

JS

$('a.edit-image').fancybox({ 
    'autoScale' : false, 
    'scrolling' : 'no' 
    }); 

內容的負載,但是的fancybox只能用高度使得以容納文本,使圖像溢出走出低谷。圖像(可能很大)需要一些時間來加載,我認爲Fancybox不會等待它來確定它應該呈現的高度。

將圖像放置在頁面的其他位置(作爲預加載的一種形式)可以防止該錯誤。此外,它僅在Fancybox第一次打開時發生,因爲它每次都被緩存。

有人知道最簡單的方法讓Fancybox渲染到正確的高度,或者只是將它的高度設置爲'auto'?

謝謝!

回答

1

我在調整fancybox-content div大小的.container div的resize事件上添加了一個觸發器。那做了這個工作。

0

一旦加載了AJAX內容,您可以簡單地使用update方法調整fancybox的大小。

$.fancybox.update(); 
相關問題