0

こんにちは私はhtmlページに2jqueryを実装する際に問題が発生しました。これは、imが使用しているクエリです。

<script language="Javascript" type="text/javascript" src="js/jquery.blinds-0.9.js"></script>

 <script type="text/javascript">                  //running the script for blinds
    $(window).load(function () {
            // start the slideshow
    $('.slideshow').blinds();
    })
    </script>



<script language="Javascript" type="text/javascript" src="jquery.min.js"></script>
<script language="Javascript" type="text/javascript" src="jquery-ui.min.js"></script>

<script type="text/javascript">              //running the script for accordion
$(document).ready(function() {
$("#accordion").accordion();
});
</script>

問題は、両方をhtml(アコーディオンまたはブラインド)で実装した場合に実行できるスクリプトは1つだけです。すべてのjqueryを実行できるように変更する方法を知っている人はいますか?ページ全体で再利用できますか?

たとえば、アコーディオンjs参照を頭に追加すると、ブラインドは実行されません。

よろしくお願いします!

4

2 に答える 2

4

jQueryがロードされる前にもう一方が実行されるため、一方のみが実行されます

試す:

<script src="jquery.min.js"></script>              <!--jQuery-->
<script src="jquery-ui.min.js"></script>           <!--jQueryUI plugin-->
<script src="js/jquery.blinds-0.9.js"></script>    <!--blinds plugin-->
<script>                                           <!--your scripts-->
    $(function() {
        $('#accordion').accordion();
        $('.slideshow').blinds();
    });
</script>

また、jQueryUIにはブラインド効果が組み込まれています。同じ効果が得られる場合は、ブラインドプラグインは必要ないかもしれません。

于 2012-05-22T14:56:08.523 に答える
0

まず、スクリプトを呼び出す順序をクリーンアップしてみてください。jQueryを最初にロードし、次に他のすべてのライブラリとカスタムスクリプトを最後にロードします。メンテナンスを改善するために、外部JSファイルに保存することもできます。

<script type="text/javascript" src="js/jquery.blinds-0.9.js"></script>
<script type="text/javascript" src="jquery-ui.min.js"></script>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="path/to/your/javascript/foo.js"></script>

また、属性language="Javascript"は冗長であり、安全に削除できます。

foo.jsファイル内で、以下を使用します。

$(document).ready(function () {
    // start the slideshow & accordion
    $('.slideshow').blinds();
    $("#accordion").accordion();
});

ここでの違いは、$(document).ready()の代わりにを使用することです$(window).load()$(document).ready()また、 2回ではなく、1回だけ呼び出す必要があります。

お役に立てば幸いです。

于 2012-05-22T15:05:56.397 に答える