0

別の自動スクロールプラグインと一緒にJQueryツールスライダーを使用しています。私はJavascriptを初めて使用するため、プラグインのそれぞれのライブラリ間の競合を適切に解決する方法がわかりません。

私の理解では、スライダースクリプト内で「$」のローカル定義を提供する必要があります。または、JQueryスライダーが使用する自動スクロールプラグインに対して、「$」のより広い定義を提供する必要があります。 $ "

すべての洞察に感謝します。繰り返しになりますが、私はJavascriptに非常に慣れていないので、無知を許してください。いつの日か、コピー&ペーストプログラマーから実際のプログラマーへのギャップを埋めることを想像しています。

JQueryToolsSliderのスクリプトは次のとおりです

<script>
    var api = $("#scroll").scrollable({ items: '#tools' }).navigator().data("scrollable");
    api.onBeforeSeek(function(e, i) {
    if (i) {$("#intro").fadeOut("slow");
        if ($.browser.msie && $.browser.version < 8) {
             $("#intro").hide();
        }
        // otherwise show the intro
        } else {
            $("#intro").fadeIn(1000);
        }

        // toggle activity for the intro thumbnail
        $("#t0").toggleClass("active", i == 0);
    });


    $("#t0").click(function() {                        
        $("#scroll").scrollable().begin();
    });
</script>
4

1 に答える 1

1

2つのバージョンのjQueryをロードすること(通常は悪い考え)と、$変数がjQueryの関連するバージョンであるスコープを定義することに関する基本的な考え方は次のとおりです。

<!-- load jQuery 1.7.2 -->
<script type="text/javascript" src="http://example.com/jquery-1.7.2.js"></script>
<script type="text/javascript">
var jQuery_1_7_2 = $.noConflict(true);
</script>

<!-- load jQuery 1.8.2 -->
<script type="text/javascript" src="http://example.com/jquery-1.8.2.js"></script>
<script type="text/javascript">
var jQuery_1_8_2 = $.noConflict(true);
</script>

<script type="text/javascript">
// self executing function that defines $ to be jQuery 1.7.2 in its scope
(function($) {
    var jQuery = $;
    // $ and jQuery in here is 1.7.2
})(jQuery_1_7_2);

// self executing function that defines $ to be jQuery 1.8.2 in its scope
(function($) {
    var jQuery = $;
    // $ and jQuery in here is 1.8.2
})(jQuery_1_8_2);
</script>
于 2012-10-30T03:43:06.480 に答える