2011-12-17 12 views
1

オーバーレイjqueryコードからこのエラーが発生するのはなぜですか?Uncaught TypeError:オブジェクト[オブジェクトオブジェクト]に「オーバーレイ」メソッドがありません

これはコードです:http://flowplayer.org/tools/demos/overlay/external.html

HALP:

jQuery(document).ready(function($) { 

    // if the function argument is given to overlay, 
    // it is assumed to be the onBeforeLoad event listener 
    $("a[rel]").overlay({ 

     mask: 'darkred', 
     effect: 'apple', 

     onBeforeLoad: function() { 

      // grab wrapper element inside content 
      var wrap = this.getOverlay().find(".contentWrap"); 

      // load the page specified in the trigger 
      wrap.load(this.getTrigger().attr("href")); 
     } 

    }); 
}); 

このコードは、このようなオーバーレイのですか?

ps。私の悪い英語のために申し訳ありません。

+0

これは、あなたがこれを正しくやって証明するのに十分なコードではありません。あなたが与えたリンクによれば、オーバーレイを設定するための複数のステップがあります。正しく設定したかどうかは分かりませんが、ページの詳細と設定方法を教えてください。 – EKet

+0

これはHTMLで完全に動作しますが、このプラグインをWordPressテーマに含めると動作しません。 – humanbeing

答えて

2

jQueryでオブジェクトの一部として表示される前に、overlayプラグインをロードする必要があります。下記参照。
注:jQueryのスクリプト

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
<script src="http://cdn.jquerytools.org/1.2.6/all/jquery.tools.min.js"></script> 
+0

'jquery.js'の前に' overlay.js'プラグインを読み込む必要がありますか? – humanbeing

+0

私はwordpress ..を使用し、jQueryスクリプトは<?php wp_enqueue_script( 'jquery')にあります。 ?>とjQueryスクリプトの後にオーバーレイプラグイン(上記のコード)をロードします。 – humanbeing

+0

humanbeing、いいえ、jqueryプラグインの後にオーバーレイ・プラグインをロードする必要があります。表示されているエラーは、ブラウザがjqueryオブジェクトの一部としてオーバーレイを表示しないためです(jqueryの前にプラグインをロードしようとしたか、プラグインを一切ロードしていないかのいずれかです)。 2番目のスクリプトタグ(jquery.tools.min.js)に追加します。 – vol7ron

0

があなたのページにオーバーレイスクリプトsrcを含んでいました後に、プラグインが来なければなりませんか?

+0

はい.. humanbeing

+0

質問の下に私のコメントを見てください。 – EKet

1

同じ問題があり、本当に奇妙な解決策が見つかりました。 私はちょうど含まjquery.toolsこのように前jquery.ui:すべてです

<script src='js/jquery-1.4.2.min.js' type='text/javascript'></script> 
<script src='js/jquery.tools.min.js' type='text/javascript'></script> 
<script src='js/jquery-ui-1.7.2.custom.min.js' type='text/javascript'></script> 

。なぜそれが今働くのか分かりませんが、それは仕事です。

4

「オーバーレイを見つけることができませんでした:nofollow」は、特定ではないCSSセレクタを使用して、オーバーレイを添付するリンクを検索することによって発生します。

最初の質問に対する正解は正しく...私はオーバーレイに基づいてこのページに来ました:コメント内のnofollowの問題....これは私が見つけた最初のものなので私はそれが他の用途を見つけるcssセレクタによって引き起こされていることを発見して以来、私はここでコメントしたい答えを見つけてください... no 0124

<!-- overlayed element --> 
<div class="apple_overlay" id="overlay"> 
    < !-- the external content is loaded inside this tag -- > 
    <div class="contentWrap"></div> 

</div> 

次のようなことをやるべきこと:

以下で
$("a[rel=#overlay]").overlay(

の代わり:

$("a[rel]").overlay(
関連する問題