Javascript 是否同时使用jquery1.9.1和jqueryui1.10.2?
我使用jquery1.9.1和jqueryui 1.10.2如下:Javascript 是否同时使用jquery1.9.1和jqueryui1.10.2?,javascript,jquery-ui,jquery,Javascript,Jquery Ui,Jquery,我使用jquery1.9.1和jqueryui 1.10.2如下: <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script> $('.formu').fadeOut("slow", function()
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
$('.formu').fadeOut("slow", function(){
$.ajax({
type: "GET",
url: './php/calc.php?id=1000',
dataType: "json",
success: function(data){
alert("hello");
// jQueryUI component below
$("#sliderui").slider({
range: "min",
min: 1,
max: data.maxi,
value: data.valu
});
},
error: function(){
errorcalculo();
}
});
});
jQuery132('.formu').fadeOut("slow", function(){
jQuery132.ajax({
type: "GET",
url: './php/calc.php?id=1000',
dataType: "json",
success: function(data){
alert("hello");
// jQueryUI component below
$("#sliderui").slider({
range: "min",
min: 1,
max: data.maxi,
value: data.valu
});
},
error: function(){
errorcalculo();
}
});
});
我是这样使用AJAX的:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
$('.formu').fadeOut("slow", function(){
$.ajax({
type: "GET",
url: './php/calc.php?id=1000',
dataType: "json",
success: function(data){
alert("hello");
// jQueryUI component below
$("#sliderui").slider({
range: "min",
min: 1,
max: data.maxi,
value: data.valu
});
},
error: function(){
errorcalculo();
}
});
});
jQuery132('.formu').fadeOut("slow", function(){
jQuery132.ajax({
type: "GET",
url: './php/calc.php?id=1000',
dataType: "json",
success: function(data){
alert("hello");
// jQueryUI component below
$("#sliderui").slider({
range: "min",
min: 1,
max: data.maxi,
value: data.valu
});
},
error: function(){
errorcalculo();
}
});
});
我看到两次“你好”的警告。。。所以我研究了这个问题,可能是因为两个库之间存在冲突。
然后我把这个代码:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>var jQuery132 = $.noConflict(true);</script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
最后,对AJAX进行如下修改:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
$('.formu').fadeOut("slow", function(){
$.ajax({
type: "GET",
url: './php/calc.php?id=1000',
dataType: "json",
success: function(data){
alert("hello");
// jQueryUI component below
$("#sliderui").slider({
range: "min",
min: 1,
max: data.maxi,
value: data.valu
});
},
error: function(){
errorcalculo();
}
});
});
jQuery132('.formu').fadeOut("slow", function(){
jQuery132.ajax({
type: "GET",
url: './php/calc.php?id=1000',
dataType: "json",
success: function(data){
alert("hello");
// jQueryUI component below
$("#sliderui").slider({
range: "min",
min: 1,
max: data.maxi,
value: data.valu
});
},
error: function(){
errorcalculo();
}
});
});
但我恐怕代码不太管用。。。
我做错了什么
如果您需要更多信息,请告诉我,我将编辑帖子。最简单的方法是使用检查条件。
var check = false;
jQuery132('.formu').fadeOut("slow", function(){
if(!check) {
jQuery132.ajax({
type: "GET",
url: './php/calc.php?id=1000',
dataType: "json",
success: function(data){
alert("hello");
// jQueryUI component below
$("#sliderui").slider({
range: "min",
min: 1,
max: data.maxi,
value: data.valu
});
},
error: function(){
errorcalculo();
},
complete: function() {
check = true;
}
});
}
});
或者在某些情况下,滑块可能未定义。。所以最好使用那个条件
var $slider = $("#sliderui");
jQuery132('.formu').fadeOut("slow", function(){
if(!$slider.hasClass('ui-slider')) {
jQuery132.ajax({
type: "GET",
url: './php/calc.php?id=1000',
dataType: "json",
success: function(data){
alert("hello");
// jQueryUI component below
$slider .slider({
range: "min",
min: 1,
max: data.maxi,
value: data.valu
});
},
error: function(){
errorcalculo();
}
});
}
});
jQueryUI不是jQuery;这是一个插件。没有冲突需要解决。您必须两次触发
$('.formu').fadeOut()
。我认为这里的问题是选择器$('.formu')
,HTML中有多少元素具有class=“formu”
。。看起来有两个。。这就是您看到警报多次触发的原因jQuery和jQueryUI是完全不同的库。类中有两个元素。formu@Sushanth。这就是您看到警报两次的原因,因为您正在将事件处理程序分配给一个类。。当您尝试淡出时,处理程序对元素每个运行一次,我用您的方式更改它,但我仍然看到两个警报。。。它没有意义。如果我把警报(检查)
放在$('.formu')的正下方。淡出(“慢”,函数(){
我看到前两个带有false的警报,然后是两个带有hello的警报。谢谢你的回答。好的,我理解,但我必须在不使用滑块的情况下做同样的事情。我担心布尔方法不起作用…你能不能同时显示没有使用滑块的情况下的代码t.删除完整方法并将check=“true”
移动到成功处理程序中