0

我在另一个自动滚动插件旁边使用 JQuery 工具滑块。由于我对 Javascript 很陌生,我不知道如何正确解决插件各自库之间的冲突。

据我了解,我需要在 Slider 脚本中为“$”提供一个本地定义,或者我应该为 JQuery 滑块使用的自动滚动插件执行此操作,我想这是一个更广泛的“定义” $"

所有的见解都值得赞赏。再说一次,我对 Javascript 非常非常陌生,所以请原谅我的无知。有一天,我想我会跨越从复制粘贴程序员到真正的程序员的鸿沟。

这是 JQuery 工具滑块的脚本

<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

这是关于加载两个版本的 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 回答