0

Web ページにアコーディオン メニューと lightwindow スクリプトがあります。後者を削除するとlightwindowスクリプトが機能するため、アコーディオンスクリプトが原因でlightwindowスクリプトが機能しません。競合が発生する必要がありますが、何ですか?これが私のページのヘッドセクションです:

<script type="text/javascript" src="lightwindow/javascript/prototype.js"></script>
<script type="text/javascript" src="lightwindow/javascript/scriptaculous.js?load=effects"></script>
<script type="text/javascript" src="lightwindow/javascript/lightwindow.js"></script>
<link rel="stylesheet" href="lightwindow/css/lightwindow.css" type="text/css" media="screen" />
<!-- accordion scripts -->
<script src="js/jquery-1.2.1.min.js" type="text/javascript"></script>
<script src="js/menu.js" type="text/javascript"></script>
<script src="js/jquery.cookie.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="css/accordion.css" />
4

2 に答える 2

0

このたわごとは、ライブラリとプラグインを使いすぎると発生します...

jQuery の noConflict 関数を使用して、prototype と scriptaculous を使用できるようにしてください。ドキュメントには次のように書かれています:

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  jQuery(document).ready(function($) {
    // Code that uses jQuery's $ can follow here.
  });
  // Code that uses other library's $ can follow here.
</script>

しかし、正直なところ、もし私があなただったら、自分のウェブサイトに使用するライブラリを 1 つ選択し、プラグインでいっぱいなので、同じことを行うプラグインを見つけます。

また、jQuery 呼び出しを次のように更新します。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>jQuery || document.write('<script src="js/jquery.min.js"><\/script>')
于 2012-12-07T11:30:51.613 に答える
0

との両方prototype.jsをロードしていjquery.jsます。

を使用してjQueryを使用しnoConflictます。

$.noConflict();

そして$for jQueryのすべてのインスタンスを に置き換えますjQuery

于 2012-12-07T11:36:30.780 に答える