2014-10-28 73 views
0

我想加載內聯的HTML到一個工作正常的colorbox,除了colorbox沒有調整到正確的高度。Colorbox不調整到正確的高度

內聯HTML內容非常長(約15000像素),但只有900個像素正在加載。

所以我開始使用colorbox.resize()函數來解決這個問題e.g:

 $('.inline-html').colorbox({ 
      onComplete : function() { 
       $(this).colorbox.resize(); 
      }  
     }); 

但調整大小功能只能達到約11000像素(未要求的15000個像素)。但是,如果我刷新頁面兩次,它會加載完整的15,000像素。

任何人都可以請建議一個解決方案?

感謝

+0

嘗試使用固定大小的顏色框,並給它這個CSS屬性:'溢出:滾動」。 – 2014-10-28 15:05:39

+0

我使用瀏覽器滾動條(與colorbox滾動條相對),因此設置滾動:false;和$(this).colorbox.resize(); - 如果我使用了彩色滾動條,那麼正確的高度就起作用了。但我的客戶想使用瀏覽器滾動條 – yorkshiredev 2014-10-28 15:31:37

回答

0

思路:

  1. 我見過當有未加載時的onComplete火災顏色框圖像這一點,所以顏色框大小調整爲內容減去的高度圖片。然後圖像加載並創建一個滾動條。如果您可以爲卸載的圖像設置高度,則問題可能會消失,因爲colorbox會立即知道它的大小。例如:

    <p>Really long content.</p> 
    <p>Really long content.</p> 
    <img src="image.jpg" height="300"> 
    <p>Really long content.</p> 
    

  • 如果知道顏色框會1.5萬個像素,可以設置顏色框是在CSS,這高大的?或運行$.colorbox.resize({height:"15,000"})

  • 可能是最糟糕的選項,可以在超時後調整其大小,得到的圖像的時間來加載。這是不可靠的,因爲圖像會在不同的時間加載不同的人,但如果問題是圖像,這可能會幫助您排除故障。

    window.setTimeout($.colorbox.resize(), 500); 
    
  • +0

    感謝您的建議。 1)我添加了圖像高度,但仍遇到同樣的問題。此外,大部分內容是圖像(90%的圖像,10%的文字)。 2)我在同一頁面上有大約20多個colorbox,它們是動態加載的 - 所以不幸的是它們都是不同的高度。 3)...嗯,好像不太好,我使用的是ImagesLoaded Jquery庫,但可能能夠將它集成到某個地方。 – yorkshiredev 2014-10-28 21:42:57