2011-07-12 6 views
1

divにギャラリーがありますが、これは最初は何も表示しないように設定されています。これは、同じページに5つのギャラリーがあり、一度。今、いつでも私は致命的なエラーを取得していますギャラリーのいずれかを表示するには、リンクをクリックしてください:表示するdivにギャラリアギャラリーが含まれていない

Fatal error: Could not extract a stage height from the CSS. Traced height: 0px. 

この問題を回避するためにとにかくありますか?私のjavascriptの知識は素晴らしいものではありませんが、どんな助けも大歓迎です。

ありがとうございました。

ジョニ

答えて

0

それは高さを取得した後、私は、要素を非表示にJavaScriptを使用します。問題は、それがdisplay:none;の要素の高さを得ることができないということです、それは構造がゴースト、無形のようなものです。

また、rel="graphic"rel="packaging"などのリンクに関連するリンクにrelタグを追加すると、各divに同様のタグを追加することでサイトを簡単に修正できます。

これを使用して、さまざまなギャラリーを切り替えることができます。また、あなたは、私が示唆し、jqueryのサイクルプラグインで一つだけのギャラリーをターゲットにしている。

$('.portfolio-body').cycle({ 
    fx: 'scrollLeft', 
    speed: 2000, 
    timeout: 3000, 
    next: '#catalogue-display' 
}); 

それはそれらのすべてを対象とする方法を。また、ガレリアプラグインは少なくともjsFiddleの例では動作しないようです。私はそれがjQuery Cycleプラグインと衝突すると思います。

relを使用して表示するギャラリーを知るためにonClickハンドラも変更します。残ったものをそのようなものを使って隠すこと。

$(".portfolio-links a").click(function() { 
    $('.portfolio-body').hide(); 
    var rel = $(this).attr("rel"); 
    $('.portfolio-body[rel="'+rel+'"').show(); 
}); 

あなたの元の質問にはあまり関係していないと私は知っていますが、私はここであなたの最初の問題を解決するかもしれません。 注:私はあなたが

+0

残念ながら、jsを使用していないユーザーがまだすべてのコンテンツを表示するように、javascriptを使用してdivを隠しています。他のアイデア? : – Joni

+0

@ジョニあなたのコードをjsFiddleに投稿して、より良いアイデアを得ることができます。 – brenjt

+0

ここに行く、http://jsfiddle.net/jonigale/G9wav/1/ - 助けてくれてありがとう! – Joni

1

上記と同じエラーに遭遇しませんでしたあなたは、再呼び出し

$(".gallery").galleria({ 
    width: 605, 
    height: 550, 
    autoplay: 3000, 
    transition: 'fadeslide' 
}); 

にできるかもしれませんが、多分あなたので、ユニークなIDを使用し

$(".portfolio-links a").click(function() {}); 

この機能です不要な作業をしないでください

2

ギャラリーインスタンスを、ギャラリーコンテナを表示するイベントが何であっても初期化する必要があります。

同じ問題が発生しています。私のギャラリーはデフォルトで私のページに隠されています(表示なし)。リンクをクリックすると表示されます。表示プロパティをブロックに設定するjQueryのslideDownを使用すると、初期化を呼び出すだけです。

$("#gallery-wrapper").galleria({ height: 500, width: 500 }); 
関連する問題