2011-12-28 10 views
0

ではありません。私はこのJavaScriptエラーを取得していますfancyboxをインストールしようとすると:ここFancyboxのトラブル:未定義私はここで少しトラブルてる機能

'undefined' is not a function (evaluating '$("a.fancybox").fancybox()') 

は私のHTMLは

<a href="http://localhost/vm/wp-content/gallery/txt/l2.jpg" class="fancybox"> 
<img src="http://localhost/vm/wp-content/gallery/testando/thumbs/thumbs_l2.jpg"> 
</a> 

で、私のjavascriptの

<script type="text/javascript"> 
$(document).ready(function() { 
    $("a.fancybox").fancybox(); 
}); 
</script> 

は、誰でもこの問題が発生しましたか?

ありがとうございます!

+0

最初のアイデアは、スクリプトの全体的な設定です。あなたが「fancyboxをインストールしようとすると、」していると明らかにあなたはまだ成功していないなら、あなたのHTML +(正しい)Javascriptがある:) – thmshd

+0

を証明しかし、他のページに同じスクリプトで正常に動作しています!しかし、このイメージでは、php foreach関数を使用してイメージが生成されます。 –

+0

エラーは構文エラーではないので(実際には参照エラーです)、 'syntax-error'タグを削除しました。答えが必要な場合は、インライン(コードが大きすぎない場合)、リンク、または[fiddle](http://jsfiddle.net)または[ jsbin](http://jsbin.com)。 –

答えて

1

私はそのバージョンがFancybox(FYI Fancyboxのバージョン2.xは、既存および動的に追加要素を扱うことができる)で動的に追加要素を表示することはできませんので、あなたがfancyboxのv1.3.xを使用していることを想定しています。

あなたはFancyboxのバージョン2.xにアップグレードしたくない場合は、2つのオプションがあります。

  1. が または
  2. はあなたにスクリプトを再構築してfancyboxをトリガするjQuery delegate()を使用してjQueryのlivequeryプラグインを使用します新しい要素

どちらもオプションhereです。

jQuery delegate()ソリューションを使用すると、単一の要素で、Fancyboxギャラリーでは動作しないことに注意してください。

私はそのdemo page hereを持っている代わりにあなたはjQueryの1.7以降にアップグレードし、新しいAPIにjQuery on()

を使用することができ、livequeryプラグインを使用すると、まだ動的に追加された要素のFancyboxギャラリーを使用しない場合既存の動的に追加された要素を持つFancyboxギャラリーを表示するためにjQuery on()を使用する方法を示します。お気軽にソースコードを見てください。

+0

fancybox 2.0に変更され、正常に動作します!ヒントをありがとう! –

2

私は、ページがjQueryのの2つのコピーを持っている場合も、同様の問題に遭遇しました。したがって、あなたのページにjQueryのコピーが1つだけあることを確認してください。

何が起こることはFancyboxは、jQueryの最初のコピーから自分自身を拡張していることです。 2番目のコピーのために、その文書の準備がそのコピーからのみ呼び出されています。もちろんFancyboxは適用されません。

+0

それもありました! jQueryを呼び出しているもう1つのプラグインは、fancyboxが機能していませんでした。ヒントをありがとう! –

関連する問題