ファンシーボックスをトリガーするのに問題があります。要素をクリックするとトリガーされるように設定しました。理由はまだわかりませんが、何らかの理由live()
で、次のように を使用してバインドした場合にのみ fancybox が機能します。
$(document).ready(function() {
// This works
$('.fancybox').live('mousedown', function() {
$(this).fancybox();
});
// This doesn't
$('.fancybox').fancybox();
});
詳細については、こちらをご覧ください: Fancybox がロードされましたが、何も起こらず、エラーも発生しませんか?
問題は、実際に要素をクリックした場合にのみ機能することです。次を使用してクリックをトリガーしようとすると:
$('.fancybox').trigger('mousedown');
私は何も得ません!うまくいきません。
これを行う必要があるのは、画像がギャラリーで PHP を使用して (サムネイルなどで) 印刷されているためです。利用可能なギャラリーのドロップダウンのみが必要なため、ページの読み込み時にすべてのサムネイルを非表示にしてからループし、すべてのギャラリーを含むドロップダウン メニューを作成します。ここまでは順調ですね!インスペクターを使用して (クロムを使用して) 要素を表示し、手動でクリックすると、正常に動作します! ただし、問題は、ドロップダウンを使用してクリックをトリガーしようとすると、何も起こらないことです!
ドロップダウンのすべてにギャラリー/サムネイルIDのデータ属性が含まれるように設定しまし<option>
た。ドロップダウンが変更されると(オプションを選択すると)、正しい画像が自動的に検出され、クリックがトリガーされます。ファンシーボックスを開く必要があります。正しい画像を見つけてクリックすることは知っていますが、クリックしても何も起こらないだけです。
それを試してみてください!
URL: http://goo.gl/r4Klf
コンテンツの最初のドロップダウン メニューを右クリックし、調べます。その上に、たくさんの.ngg-galleryoverview
要素が表示されます。それらの 1 つをクリックして、要素に適用されているすべてのスタイルを削除します (element.style では、スタイルは基本的に要素を非表示にします)。次に要素を展開すると、そこに.ngg-gallery-thumbnail
. display: none
スタイリングから外します。ページ上に要素が表示されるはずです。クリックしてみるとfancyboxが開きます。ただし、 を使用してクリックしようとすると$(the element).trigger('mousedown')
、機能しません。次のような href 属性を使用してターゲットを設定してみてください。
jQuery('a[href="http://hallarna.se/wp-content/gallery/2013/spoksonatenloggaliten.jpg"]').trigger('mousedown');
jQuery は noConflict モードであることに注意してください。つまり、$() の代わりに jQuery() を使用する必要があります。
私はこれと数日間戦ってきました。どんなアイデアでも大歓迎です!