我正在尝试在 CS Cart 站点上运行一个插件,它只允许 jQuery 1.7+ http://owlgraphic.com/owlcarousel/是我正在使用的插件。
我在另一张票上找到了一段代码,它允许使用 noConflict 方法运行两个版本的 jQuery。所有原始代码都运行良好。但是这个插件没有运行,它一直抛出错误 Uncaught TypeError: undefined is not a function
on this line:$j("#wrapper").owlCarousel({
但是,如果我在加载函数的文档中添加以下 lin,它似乎运行,然后在到达 .owlCarousel 函数时中断。-$j('body').css('background-color', 'red');
这是我的代码的细分:
//在页面顶部加载n
{script src="lib/js/jquery/jquery.min.js"}
{script src="lib/js/jquery/jquery.min.1.8.js"}
<script>var $j = jQuery.noConflict(true);</script>
<script type='text/javascript'>
$(document).ready(function(){
console.log($().jquery); // This prints v1.5.2
console.log($j().jquery); // This prints v1.8
});
</script>
//加载在页面下方,在现有的大部分JS之后
<script type='text/javascript'>
$j(document).ready(function(){
$j('body').css('background-color', 'red');
$j("#wrapper").owlCarousel({
//autoPlay: 3000, //Set AutoPlay to 3 seconds
items : 2,
itemsCustom : [
[200, 2],
],
navigation : true
});
});
</script>
奇怪的是,如果我用新版本替换旧版本的 jQuery,它可以工作,但会破坏所有依赖旧版本的旧代码。
我希望我已经提供了足够的信息。
提前致谢。