10

Son Tonaka のメガ ドロップ ダウン w/CSS & jQuery sohtanaka.com/web-design/mega-drop-downs-w-css-jquery に触発されたメガ ドロップ ダウン メニュー システムに jQuery hoverIntent.js スクリプトを使用しています。私のページには、サードパーティのサプライヤーによって挿入されたprototype.jsスクリプトが含まれています(これは、物件検索およびリード管理コンテンツをロードする不動産Webサイトです)。タグの直前に最後にロードされます。私のメニュー スクリプトと jQuery 呼び出しは、タグの先頭に読み込まれます。以下に、2つのリンクを含めました。最初のリンクは、prototype.js への呼び出しをコメント アウトしたもので、メニューは正常に機能します。2 番目のリンクには、prototype.js への呼び出しがあり、ドロップダウンは機能しません。

  1. 作業ドロップダウン: http://www.myreoforeclosures.com/_menutestfromcode.html (prototype.js はコメントアウトされています)

  2. 動作しないドロップダウン: http://www.myreoforeclosures.com/_menutestfromcode2.html (prototype.js が動作している場合)

jQuery Web サイトで提案されている jQuery noConflict() 解決策のさまざまなバリエーションを試しましたが、私の人生では、競合を解決することはできません。ドロップダウンをテストするために、上記のリンクを CSS と HTML の基本のみに減らしました。

Web 2.0/CSS/jQuery を使用して急な学習曲線を登っていることに注意してください。これらのツールを使用して Web サイトを設計するのはこれが初めての試みです (以前のテーブルベースの Web サイトに対して)。

jQuery とプロトタイプを連携させるための助けをいただければ幸いです。私は jQuery スクリプトしか制御できないため、すべての解決は jQuery に対して行う必要があります。私は、prototype.js を制御できません。

4

6 に答える 6

3

jQuery.noConflict()機能しない理由は、メニュー コードが$jQuery 機能を参照するために引き続き使用されているためだと思います。からグローバル名noConflict()のバインドを解除するだけです。$jQuery

「jQuery」を意味すると予想されるコードがある場合は、代わり$に使用するように変更する必要がありますjQuery$それ以外の場合は、もちろん非常に異なるものであるプロトタイプを取得します。

編集— ようやくあなたのページを読み込めるようになりました (ネットワークに問題があったと思います)。あなたは "$j" を一貫して使っているようです。$したがって、メニューコードの問題は問題ではないと思いますが、noConflict()魔法ではないことはまだ真実であるため、ここにコメントを残します。

もう一度編集— パトリックの提案に従い、Prototype 1.4.2 を試してみます。

于 2010-06-27T19:50:32.097 に答える
1

私はまったく同じ問題を抱えていました!「RangeError:無効な配列の長さ」でJq 1.6.2とprototype.jsを使用しています。

Google の CDN コピーのプロトタイプを使用するまでは、ほとんどあきらめていましたが、すべて問題ありませんでした。今問題だったバグは解決されたと思います。

于 2011-07-13T13:59:38.603 に答える
1

古いバージョンの jQuery を使用しているようです。1.4.2 の代わりに 1.3.2 があります。

違いが生じるかどうかはわかりませんが、おそらく最新のリリースを試してください。

Google の CDN から直接リンクできます。

http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js

于 2010-06-27T19:32:33.130 に答える
0

そのメニューがプロトタイプを使用していない場合は、$(自己実行無名関数を介して)新しいブロックで変数をjQueryに再定義できます。

(function ($) {
   // do stuff as usual
})(jQuery);
于 2010-06-27T19:57:39.403 に答える
0

http://docs.jquery.com/Using_jQuery_with_Other_Libraries

jQuery.noConflict()メソッドを使用します。

Grz、クリス。

于 2010-06-27T18:47:19.067 に答える
0

メニューは両方の URL で機能するようです。(Firefox 3.6.4)

編集: 私の好みのブラウザーは NoScript を使用した Firefox であるため、それらは私にとってはうまくいくようです。プロトタイプ ライブラリが別のドメインのものであることに気付きませんでした。=/

/ヘッドデスク

于 2010-06-27T19:44:15.580 に答える