2

スクロール可能なものを使用しようとすると、次のエラーが表示されます: $(".scrollable").scrollable is not a function

<html>
<head>
<script type="text/javascript" src="http://cdn.jquerytools.org/1.2.5/full/jquery.tools.min.js"></script>
</head>
<body>
<script>
$(function() {
  // initialize scrollable with mousewheel support
  $(".scrollable").scrollable({ vertical: true, mousewheel: true });
});
</script>
</body>
</html>

誰がこれを引き起こしているのかを見ることができますか?

[編集]

Mark Hildreth が、私が使用していたライブラリに既に jQuery がバンドルされていることを指摘した後、Google jQuery CDN 参照 (上には表示されていません) を削除したところ、「$ は関数ではありません」というエラーが表示されました。

その時、jQuery が flowplay と競合していることを知ったので、使用するようにページを更新しました

jQuery.noConflict();
jQuery(document).ready(function()){
   // jQuery('#foo) .... etc
});

$ の代わりに jQuery を使用するように既存のページのスクリプトを変更する必要があるため、これはやや面倒です。

とにかく $ を引き続き使用できますか、それとも jQuery を使用する必要がありますか?

4

4 に答える 4

1
// you don't have to use jQuery(document).ready(function()){});
// or noConflict

$ = null; // doean't matter here what happens to $

// just wrap your jQuery code passing in jQuery...
(function ($) {
    //write jQuery here...
    $(".scrollable").scrollable({
        vertical: true,
        mousewheel: true
    });
})(jQuery);
于 2012-09-19T16:42:33.627 に答える
0

コードにhttp://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.jsを含める場合は、jQuery.noConflict(); を記述する必要があります。

于 2012-12-12T06:32:32.877 に答える
0

使用する

    var $j=jQuery.noConflict();

JavaScript も $ 記号を使用するため、競合が発生します。次に、次のようにコードを記述できます

    $j(document).ready(function()){
    // jQuery('#foo) .... etc
    });
于 2012-04-27T07:33:49.450 に答える
0

あなたのコードを見ると、jQuery ライブラリが不足していると思います。google cdn から含めることができます。

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

ソース: http://encosia.com/2008/12/10/3-reasons-why-you-should-let-google-host-jquery-for-you/

于 2011-03-13T18:52:49.930 に答える