我在div中有一个画廊,最初设置为不显示,这是因为我在同一页面上有5个这样的画廊,只想在任何时候显示一个。现在,每当我点击链接显示其中一个画廊时,我都会收到致命的错误:
Fatal error: Could not extract a stage height from the CSS. Traced height: 0px.
有没有解决这个问题?我的javascript知识不是很好,但是非常感谢任何帮助。
感谢。
乔尼
答案 0 :(得分:2)
您需要在显示图库容器的任何事件中初始化图库实例。
我遇到了同样的问题 - 默认情况下,我的图库在我的网页上隐藏(无显示),只有在您点击“查看图库”链接时才会显示。使用jQuery slideDown(将display属性设置为block),然后才调用initialize。
$("#gallery-wrapper").galleria({ height: 500, width: 500 });
答案 1 :(得分:1)
这个功能
$(".portfolio-links a").click(function() {});
您可以重新拨打电话
$(".gallery").galleria({
width: 605,
height: 550,
autoplay: 3000,
transition: 'fadeslide'
});
但也许使用唯一的ID,这样你就不会做不必要的工作
答案 2 :(得分:0)
我会使用javascript来获取高度后隐藏元素。问题在于它无法获得display:none;
元素的高度,它的结构就像鬼,无形。
此外,我认为您可以采取的最简单方法是修复与该链接相关的每个链接的rel标记,例如rel="graphic"
和rel="packaging"
为每个链接添加类似的标记那个。
用它来切换不同的画廊。此外,您只使用jquery循环插件定位一个库,我建议:
$('.portfolio-body').cycle({
fx: 'scrollLeft',
speed: 2000,
timeout: 3000,
next: '#catalogue-display'
});
这样它就针对所有人。此外,Galleria插件似乎至少在jsFiddle示例中不起作用。我认为它会与jQuery Cycle插件冲突。
我还会更改onClick处理程序以使用rel来知道要显示的库。并使用这样的东西隐藏剩下的东西。
$(".portfolio-links a").click(function() {
$('.portfolio-body').hide();
var rel = $(this).attr("rel");
$('.portfolio-body[rel="'+rel+'"').show();
});
我知道我说的大部分内容与你原来的问题不太相关,但我会从这里开始,它可能会解决你的初始问题。 注意:我没有遇到您在上面描述的相同错误