我在 div 中有一个画廊,最初设置为不显示,这是因为我在同一页面上有 5 个画廊,并且只想在任何时候显示一个。现在,每当我单击链接以显示其中一个画廊时,我都会遇到致命错误:
Fatal error: Could not extract a stage height from the CSS. Traced height: 0px.
有没有办法解决这个问题?我的 javascript 知识不是很好,但任何帮助将不胜感激。
谢谢。
乔尼
我在 div 中有一个画廊,最初设置为不显示,这是因为我在同一页面上有 5 个画廊,并且只想在任何时候显示一个。现在,每当我单击链接以显示其中一个画廊时,我都会遇到致命错误:
Fatal error: Could not extract a stage height from the CSS. Traced height: 0px.
有没有办法解决这个问题?我的 javascript 知识不是很好,但任何帮助将不胜感激。
谢谢。
乔尼
您需要在显示画廊容器的任何事件上初始化画廊实例。
我遇到了同样的问题——我的画廊默认在我的页面上是隐藏的(不显示),只有当您单击“查看画廊”链接时才会出现。使用 jQuery slideDown(将显示属性设置为阻塞),然后我才调用初始化。
$("#gallery-wrapper").galleria({ height: 500, width: 500 });
是这个功能吗
$(".portfolio-links a").click(function() {});
您可以重新调用
$(".gallery").galleria({
width: 605,
height: 550,
autoplay: 3000,
transition: 'fadeslide'
});
但也许使用唯一 ID,这样你就不会做不必要的工作
我会在元素获得高度后使用javascript隐藏元素。问题是它无法获得元素的高度,因为display:none;
它的结构就像一个幽灵,无形。
此外,我认为修复网站最简单的方法是为每个与链接相关的链接添加一个 rel 标签,rel="graphic"
并rel="packaging"
为每个 div 添加一个类似的标签。
使用它来切换不同的画廊。另外,您只针对一个带有 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();
});
我知道我所说的大部分内容与您最初的问题并不太相关,但我会从这里开始,它可能会解决您最初的问题。注意:我没有遇到您上面描述的相同错误