jQuery noConflict:现在没有一个库可以工作,而是两个都可以
我遇到了jQuery版本冲突的问题 我认为使用jQuery noConflict:现在没有一个库可以工作,而是两个都可以,jquery,Jquery,我遇到了jQuery版本冲突的问题 我认为使用jQuery.noConflict()可以解决我的问题,但事实并非如此 当我完全删除两个jQuery库中的任何一个时,另一个总是可以正常工作 正如您在下面的代码中看到的,我导入了外部php文件,以避免在每个页面上重复代码。我的计划也是导出Javascript代码(太多了,无法放在标题中)。 我希望在一个页面中运行的两个功能是: 我的(不工作)代码: jQuery.noConflict(); $(文档).ready(函数(){ //堆栈初始
jQuery.noConflict()
可以解决我的问题,但事实并非如此
当我完全删除两个jQuery库中的任何一个时,另一个总是可以正常工作
正如您在下面的代码中看到的,我导入了外部php文件,以避免在每个页面上重复代码。我的计划也是导出Javascript代码(太多了,无法放在标题中)。我希望在一个页面中运行的两个功能是:
jQuery.noConflict();
$(文档).ready(函数(){
//堆栈初始化
var-openspeed=300;
var闭合速度=300;
$('.stack2>img').toggle(函数(){
垂直var=0;
var水平=0;
var$el=$(本);
$el.next().children().each(函数()){
$(this).animate({top:vertical+'px',left:horizontal+'px'},openspeed);
垂直=垂直+55;
水平=(水平+0.75)*2;
});
$el.next().animate({top:'40px',left:'10px'},openspeed)。addClass('openStack'))
.find('lia>img').animate({width:'50px',marginLeft:'9px',openspeed);
$el.animate({paddingBottom:'0'});
},函数(){
//反向上方
var$el=$(本);
$el.next().removeClass('openStack').children('li').animate({top:'-33px',left:'-10px',closespeed);
$el.next().find('lia>img').animate({width:'79px',marginLeft:'0',closespeed);
$el.animate({paddingBottom:'35px'});
});
//堆叠附加动画
$('.stack2 li a')。悬停(函数(){
$(“img”,this).animate({width:'56px'},100);
$(“span”,this).animate({marginRight:'30px'});
},函数(){
$(“img”,this).animate({width:'50px'},100);
$(“span”,this).animate({marginRight:'0'});
});
});
jQuery.noConflict();
$(文档).ready(函数(){
//手风琴菜单
//存储变量
var accordion_head=$('.accordion>li>a'),
accordion_body=$('.accordion li>.sub-menu');
//加载时打开第一个选项卡
accordion_head.eq(0).addClass('active').next().slideDown('normal');
//点击功能
手风琴头('click',函数(事件){
//禁用标题链接
event.preventDefault();
//单击时显示和隐藏选项卡
if($(this.attr('class')!='active'){
手风琴琴体。滑块(“正常”);
$(this.next().stop(true,true.slideToggle('normal');
手风琴头移除类(“活动”);
$(this.addClass('active');
}
});
});
ING员工福利
此处显示用户提示
谢谢你的建议 这是未经测试的
<script>
$(document).ready(function () {
//use your old plug in
}
</script>
<script src="jquery.1.9.1"></script>
$(文档).ready(函数(){
//使用旧的插件
}
//负荷手风琴
<script>
jq191 = jQuery.noConflict();
jq191(document).ready(function() {
}
</script>
jq191=jQuery.noConflict();
jq191(文件).准备就绪(功能(){
}
…现在,$用于旧的1.3.1 jQuery,jq191用于第二个版本。与您的代码的唯一区别是,我认为第一个noConflict不相关,我使用jq191确保第二个代码块与第二个版本的jQuery一起运行
做你想做的事是完全可能的
哦,也包括这两行
<script type="text/javascript" src="/malark/general/jqdock/jquery.jqDock.min.js"></script>
<script type="text/javascript" src="/malark/general/jqdock/stack-2.js"></script>
在加载1.3.2之后,如果它们是使用该版本jQuery的插件,即在使用它们的代码块之前。我没有看到accordion加载-在加载第二版本jQuery之后加载
--JustinWyllie为什么要两次包含jQuery?它们是两个不同的jQuery库版本,而且似乎都不兼容。这样做不对吗?哇,jQuery 1.3.2非常过时,你需要它吗?如果是用于某种手风琴插件(我看到你有一个单独的css文件),您应该使用。
noconflict
只会阻止jquery与其他非jquery库(不是其他版本的jquery)发生冲突哦,好的:-/不幸的是,垂直stackdock的代码在JQuery版本1.9.1中无法正常工作,而且它是很久以前编写的。尽管如此,我还是很喜欢这个菜单,它在internet上仍然广泛可用:-/
<script type="text/javascript" src="/malark/general/jqdock/jquery.jqDock.min.js"></script>
<script type="text/javascript" src="/malark/general/jqdock/stack-2.js"></script>