2

2 つの jQuery スクリプトを同じページに配置すると問題が発生します。どうすればよいですか?

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.slidepanel.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $('[data-slidepanel]').slidepanel( {
            orientation: 'left',
            mode: 'push'
        });
    });

</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="js/jquery.mixitup.min.js"></script>
<script type="text/javascript">
    $(function() {
        $('#Grid').mixitup();
    });
</script>

jQuery.noConflict() がこの問題を解決する可能性があることは知っていますが、これを適用する方法がわかりません。何か助けはありますか?

4

3 に答える 3

3
  1. 誰もが言っているように、必要な jQuery のコピーは 1 つだけです。ここで説明されているように、Google CDN をそのまま使用することをお勧めします。

  2. それでも機能しない場合は、コードの各要素を個別に試してください。したがって、コードを次のように再フォーマットします。type="text/javascript"スクリプトの 1 つに追加したことに気付くでしょう。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.slidepanel.js"></script>
<script type="text/javascript" src="js/jquery.mixitup.min.js"></script> 

<script type="text/javascript">
    (function($){ // Self-executing wrapper that sets $=jQuery
        $(function() { // Fires onload
            $('[data-slidepanel]').slidepanel( {
                orientation: 'left',
                mode: 'push'
            });
            $('#Grid').mixitup();
        });
    }(jQuery));
</script>

$('...次に、2 つのステートメントをコメントアウトして、一方または両方が機能するかどうかを確認してください。

于 2013-08-17T23:50:15.173 に答える
1

とにかく、なぜ 2 つの jQuery ライブラリが必要なのですか?! 新しいものを使うだけ!...新しいフレームワークでは利用できない機能が必要なため、古いものが必要だったとしましょう。それらを検索モードで検索し、それらを 1 つずつ新しいフレームワークにコピーします (私のように jQuery をオフラインで使用している場合にのみ実行できます。これにより、開発中のロード時間が節約され、キャッシュされるためです)。著作権侵害を引き起こさないでください:/

于 2013-08-17T22:44:40.850 に答える
1

古いものを削除して、このバージョンを使用http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js 古いバージョンを jquery-1.5.2.js や jquery-1.9.1.min などに移動.js

于 2014-01-28T10:36:46.670 に答える