jq出现冲突,会出现让你二选一的局面,一个能用一个就不能用,二者不可兼得,该怎么办?
好办下面以下方法帮你解决!
首选看以下代码:
<div class="container" >
<div id="slides" >
<img src="tuimg/example-slide-1.jpg">
<img src="tuimg/example-slide-2.jpg">
<img src="tuimg/example-slide-3.jpg">
<img src="tuimg/example-slide-4.jpg">
</div>
</div>
<script src="tujs/jquery-1.9.1.min.js"></script>
<script src="tujs/jquery.slides.min.js"></script>
<script>
$(function() {
$('#slides').slidesjs({
width: 940,
height:280,
play: {
active: true,
auto: true,
interval: 2000,
swap: true
}
});
});
</script>
注意:以上代码是控制图片的包含jq的代码。 导航代码就不放上来了,一般来说,可放弃图片,不能放弃导航(主要是因为改导航太麻烦)
解决方法:
用 jQuery.noConflict()
运行这个函数将变量
的控制权让渡给第一个实现它的那个库。这有助于确保jQuery不会与其他库的
对象发生冲突。
在运行这个函数后,就只能使用jQuery变量访问jQuery对象。例如,在要用到$(“div p”)的地方,就必须换成jQuery(“div p”)。
”’注意:”’这个函数必须在你导入jQuery文件之后,并且在导入另一个导致冲突的库”’之前”’使用。当然也应当在其他冲突的库被使用之前,除非jQuery是最后一个导入的。
上面的代码修改后的代码是:
<div class="container" >
<div id="slides" >
<img src="tuimg/example-slide-1.jpg">
<img src="tuimg/example-slide-2.jpg">
<img src="tuimg/example-slide-3.jpg">
<img src="tuimg/example-slide-4.jpg">
</div>
</div>
<script src="tujs/jquery-1.9.1.min.js"></script>
<script src="tujs/jquery.slides.min.js"></script>
<script>
jQuery.noConflict()//运行这个函数将变量$的控制权让渡给第一个实现它的那个库。
(function($) {
$(function() {
$('#slides').slidesjs({
width: 940,
height:280,
play: {
active: true,
auto: true,
interval: 2000,
swap: true
}
}); // 使用 $ 作为 jQuery 别名的代码
});
})(jQuery);
</script>
再运行网站之后两个jq的效果都能显示出来了
原理:
描述:
将
引用的对象映射回原始的对象。jQuery代码:jQuery.noConflict();//使用jQueryjQuery(“divp”).hide();//使用其他库的
()
(“content”).style.display=‘none′;描述:恢复使用别名
,然后创建并执行一个函数,在这个函数的作用域中仍然将
作为jQuery的别名来使用。在这个函数中,原来的
对象是无效的。这个函数对于大多数不依赖于其他库的插件都十分有效。
jQuery 代码:
jQuery.noConflict();
(function(
)$(function()//使用$作为jQuery别名的代码);)(jQuery);//其他用
作为别名的库的代码描述:
创建一个新的别名用以在接下来的库中使用jQuery对象。
jQuery 代码:
var j = jQuery.noConflict();
// 基于 jQuery 的代码
j(“div p”).hide();
// 基于其他库的
()代码
(“content”).style.display = ‘none’;
jQuery.noConflict();
(function(
)$(function()//使用$作为jQuery别名的代码我把导航的js代码写在这中间就行了);)(jQuery);//其他用
作为别名的库的代码
明白了以上这些知道怎么改了吧!