导航到特定的Jquerytools选项卡时加载Galleria

时间:2011-11-04 14:02:43

标签: javascript galleria jquery jquery-tools

我无法将Galleria图库插件集成到我的一个Jquerytools标签上。当使用Galleria直接导航到页面时(例如:www.domain.com/index.php#tabnameofgalleriapane),没有问题。

每当没有立即加载带有galleria的窗格时(默认窗格是另一个窗格),Gallery会抛出一个错误:Fatal error: Could not extract a stage height from the CSS. Traced height: 0px.,这是合乎逻辑的,因为当Galleria窗格未激活时,它的css可能是{{ 1}} ...

定义身高&字面上的宽度似乎不起作用。这是之前的设置:

display:none;

所以我想在包含Galleria插件的窗格上加载Galleria插件的负载,因为在那一刻,Galleria窗格确实有一个高度......我找到了一些帮助我的东西方式,但现在我得到其他JavaScript冲突错误(请参阅下面的解释)。

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

由于我无法控制的原因,我正在编写的网站使用jQuery和Prototype / Scriptaculous。因此,请考虑脚本必须以noConflict模式编写。 (我正在设置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 });

如果下面的脚本让我走上正轨,有人可以告诉我吗? 当#jp_images选项卡加载时,有人可以帮我修改脚本吗? 现在,上面的脚本给了我与Prototype的冲突错误。

焦急地等待你的专家意见!

此致

马腾

1 个答案:

答案 0 :(得分:0)

我设法找到了一个快速而肮脏的解决方案(感谢vfxdude

每次点击带有Galleria的标签时,我会强制重新加载页面,如下所示:

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

在此之后,我可以使用常规的旧Galleria插件初始化。

当然,这有点脏,但是在截止日期前这是一个简单快捷的解决方法。