2013-03-13 94 views
0

我有一個自定義fancybox(fancybox2),其中內容是動態加載的。然而,內容增長的方塊在瀏覽器窗口中保持不變,並且不會觸發html的滾動條。如何在動態內容加載到fancybox時觸發html滾動

但是,如果我運行$.fancybox.update()它調整並顯示滾動條。我如何在不運行上述行的情況下自動執行此操作?

我的fancybox定義如下

$.fancybox({ 

    href  : '#mycontainer' 
    autoSize : true, 
    maxWidth : 760, 
    fitToView: false, 
    padding : 0, 
    fixed : true, 
    autoCenter : true, 
    beforeShow : function(){ 
     $('.fancybox-overlay-fixed').css({'overflow-y':'auto'}); 
    }, 
    afterShow : function(){ 
     $('.fancybox-overlay-fixed').css({'overflow-y':'auto'}); 
    }, 
}); 
+0

使用$ .fancybox.update()有什麼問題?每次在fancybox中生成動態內容時,請運行它。 – 2013-03-13 07:04:35

+0

我有隱藏/顯示mycontainer中的多個元素,我不想繼續寫$ .fancybox.update函數到處是否有一個回調函數,檢測內容是否離開頁面? – Neil 2013-03-13 07:21:26

+0

不是我知道我害怕。你最好的選擇可能是溢出 - y:scroll;在這種情況下設置 - 在這種情況下,處理幀內容的寬度也會更容易。 (我知道它可能會比其他方式有吸引力)。就我個人而言,我不想使用具有這麼多動態內容的燈箱......它聽起來並不像所有這些都是用戶友好的。 – 2013-03-13 07:52:36

回答

0

按照文檔:

$.fancybox.update() - 自動調整大小的fancybox height匹配的內容高度。

autoWidth:如果設置爲true,對於'inline','ajax'和'html'類型的內容高度是自動確定的。 布爾值;默認值:false

你可以嘗試在配置的fancybox對象autoWidth:true

相關問題