2011-11-04 21 views
0

我無法將Galleria圖片庫插件集成到我的Jquerytools選項卡之一。直接導航到帶有Galleria的頁面(例如:www.domain.com/index.php#tabnameofgalleriapane)時,沒有任何問題。導航到特定Jquerytools選項卡時加載環球免稅店

每當與廣場窗格不立即加載(默認窗格是另一個窗格),畫廊拋出一個錯誤:Fatal error: Could not extract a stage height from the CSS. Traced height: 0px.,這是合乎邏輯的,因爲當廣場窗格不活躍,它的CSS可能是display:none; ...

定義高度&寬度字面上似乎不起作用。這是以前的設置:

jQuery("#jp_nav").tabs(".jp_pane", { history: true }); 
jQuery('#gallery').galleria({ 
    imageCrop: false, 
    transition: 'slide', 
    autoplay: 7000, 
    width: 960, 
    height: 640 
}); 

所以我當時就想,包含廣場插件窗格廣場插件的onload的負載進行綁定,因爲在那一刻,廣場窗格中確實有一個高度...我在路上找到了一些可以幫助我的東西,但現在我收到了其他JavaScript衝突錯誤(請參閱下面的解釋)。

jQuery("#jp_nav").tabs(".jp_pane", { 
    initialIndex: 0, 
    onBeforeClick: function(event, i) { 
    // get the pane to be opened 
    var pane = this.getPanes().eq(i); 
    var src = this.getTabs().eq(i).attr("href"); 
    pane.load(src, "#jp_images", function(){ 
     jQuery('#gallery').galleria({ 
      imageCrop: false, 
      transition: 'slide', 
      autoplay: 7000, 
      width: 960, 
      height: 640 
     }); 
    }); 
    }, 
    history: true 
}); 

由於我無法控制的原因,我寫這個的網站同時使用了jQuery和Prototype/Scriptaculous。所以請考慮腳本必須以noConflict模式寫入。 (我正在做我的設置$.noConflict();

有人可以告訴我,如果下面的腳本讓我在正確的軌道? 有人可以幫助我修改加載#jp_images選項卡時工作的腳本嗎? 現在,上面的腳本給我帶有原型的衝突錯誤。

焦急等待您的專家意見!

問候,

馬騰

回答

0

我設法找到一個快速和骯髒的解決方案(感謝vfxdude

隨時與廣場的標籤被點擊時,我強迫重新加載頁面,像這樣:

tabName = 'jp_images'; 
jQuery('#jp_nav a[href="#'+tabName+'"]').click(function() { if (location.hash == '') location.replace(location.href+'/#'+tabName); }); 

在此之後,我可以只使用普通舊Galleria插件初始化。

當然,這有點髒,但它是一個簡單而快速的修復時間。