3

タイトルが曖昧でごめんなさい。

会社のWebサイトに新しいテーマを作成していて、ページにjQueryタブとスライダーの両方があります。

ただし、タブとスライダーの両方が機能していません。理由はよくわかりません。デザインを継承し、テーマを変更しただけです-複数のjQueryスクリプトが読み込まれていることに関係があるのではないかと思います-スライダーはメソッド.split()が存在しないというエラーをスローし、タブが機能しません彼らはすべき。

4

3 に答える 3

2

ExplosionPillsは正しいです-jQuery.noConflictを使用する必要があります。最初にjQueryをインポートし、次にPrototypeをインポートする前に、次の行を挿入します

<script type="text/javascript">
    jQuery.noConflict();
</script>

これを行う場合は、jQueryを参照するアプリ内の他のすべての場所で、jQuery(...)またはjQuery.の代わりに$(...)またはを実行し$.ます。インポートするスクリプトが正しく記述されておらず、$を定義していない場合を除いて、スクリプトのインポートを台無しにしないでください。

于 2013-01-23T01:52:12.027 に答える
2

これを行う必要があります:

<action method="addJs"><script>jquery/jquery.js</script></action>
<action method="addJs"><script>jquery/jquery.plugin.js</script></action>
<action method="addJs"><script>jquery/jquery.moreplugin.js</script></action>
<action method="addJs"><script>jquery/jquery.noConflict.js</script></action>

<action method="addJs"><script>prototype/prototype.js</script></action>

page.xmlレイアウトで。

jquery.noConflict.jsファイル:

var jQuery = $.noConflict();

その後、どこでもjQuery()関数を呼び出すことができます。順序は次のとおりです。jquery->jqueryプラグイン->jquery競合なし->プロトタイプ

于 2013-01-23T02:59:30.493 に答える
0

次のスニペットを使用することを好みます。

<script type="text/javascript">
  jQuery.noConflict();
  (function($) {
    $.ajax(...);
  })(jQuery);
</script>

、Prototypeと競合せず、jQueryに「$」を使用し続けます。詳細については、こちらをご覧ください: http: //www.magentogarden.com/blog/using-jquery-in-magento-with-good-programming-practice.html

于 2013-01-23T07:54:10.260 に答える