2011-01-27 8 views
2


JavaScriptのファイルに問題があります。いくつかのスクリプトは、私は、HTML file.Hereでそれらを注文する方法に依存動作しないだけで私は何を意味するかをお見せするデモです: http://testground.uphero.com/test/htmlのjavascriptのオーダー

あなたがソースに見ることができるようにあります:

<script type="text/javascript" src="js/prototype.js"></script> 
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script> 
<script type="text/javascript" src="js/lightbox.js"></script> 
<script src="http://code.jquery.com/jquery-1.4.4.js" type="text/javascript"></script> 
<script type="text/javascript" src="js/grayscale.img.js"></script> 

の場合グレースケールのimgが動作し、ライトボックスは表示されませんが、jqueryのリンクをトップに移動するとグレースケールは動作しなくなりますが、ライトボックスは機能します。

私が望むのは、それらを両方とも動作させることです。何か方法はありますか?前もって感謝します! :-)私は私のコメントで述べたよう

+0

この順序は、スクリプトと関数が実行される順序に従って重要であり、依存関係が利用可能でなければなりません。 –

+1

本当にprototypejsとjqueryを使いたいですか?あなたは、これを使用するには、これを選択する必要があります - ほとんどすべての問題は、両方で解決することができます。 – oezi

+0

@oezi + scriptaculus。 @Premke:3つのJavascriptフレームワークを同時に使用しないでください。 –

答えて

1

:あなたは本当に結果のJavaScriptを確認するために、両方を使用して放火犯(や他のブラウザのために似たような)を使用する必要がある場合

:あなたは、2つのフレームワークが、使用を避けるためにエラー - 両方のフレームワークで "互換性/ noconflictモード"を有効にしなければならないかもしれないので、お互いを殺しません。

詳細についてはjQuery documentationをご覧ください。

+1

完全に同意する、それは石の3つの異なる種類の家を建てるのが好きです。:) –

+0

@ShadowWizard:素敵な比較:D – oezi

+0

ありがとう!あなたは最初の3文字のみを使用できます。 @Shaは、すべてを入力する必要はありませんプラスあなたは、誤植を危険にさらす。 ;) –

0

PrototypeとjQueryで使用されているネームスペースとの競合が原因である可能性があります。どちらも、ネームスペースのショートカットとして$を参照しています。両方のライブラリを一緒に使用すると、必然的に競合が発生します。

ここでは、問題を回避する方法を含め、他のライブラリとのjQueryの使用に関する有用な記事です:

http://docs.jquery.com/Using_jQuery_with_Other_Libraries

をしかし、あなたは、プラグインを使用していることを確認するために注意する必要があります。各ライブラリが適切に動作するための正しい範囲内で参照されます。可能であれば、1つのライブラリ(jQuery用のライトボックスクローンがたくさんあります)を使用することに固執するのが賢明でしょう。

+0

情報ありがとう、私もJQueryライトボックスを見つけました - http://leandrovieira.com/projects/jquery/lightbox/ – Premke