EDIT2:没关系,让它运转起来。 jQuery被再次包含在用ajax调用的一个脚本中。不管怎样,谢谢。
编辑:这是一个改写的问题。花了一段时间才找到问题所在。
在使用ajax加载某些内容后,调用插件函数(包括UI效果)无法正常工作。
最初的问题有.effect("pulsate",{},1000)
电话,这解释了sarcastyxs的回答。现在我正在使用倒计时插件尝试相同的事情。出现同样的问题。
这是我的代码。忽略它没有多大意义,它从较大的文件中删除。代码本身就很好。例如,如果我调用fadeOut()
它可以正常工作,但如果我使用.countdown
或.effect
则会出现上述问题。
var getOrderDetails= function(id){
var that = this;
$.ajax({
type: "GET",
url: "orderDetails.php",
data: {id: id},
success: function(data){
//$("#orderDetails").html(data);
$("#orderDetails").unbind().click(function(){
var status = $("#orderDetails .orderStatus").text()
acceptOrder(id, status);
});
}
});
}
var acceptOrder = function(id, status){
var that = this;
$.ajax({
type: "GET",
url: "orderStatus.php",
data: {action: 'set', id: id, status: status},
success: function(data){
var nowTime = new Date();
var countdownTime = nowTime.setMinutes(nowTime.getMinutes() + 2);
$("#waitingOrders").countdown({until: countdownTime, compact:true, format: 'MS'});
}
});
}
$(document).ready(function(){
$(".order").unbind().click(function() {
var id = $(this).find(".orderId").text();
getOrderDetails(id);
});
});
当我评论$("#orderDetails").html(data)
行时(如代码中所示),倒数计时器会显示在orderDetails
div内。
当我取消注释该行时,出现countdown is not a function
错误。看看firebug中的dom,真的在第一种情况下我可以看到选择器具有.countdown功能,而在第二种情况下它没有。
我在这里想念的是什么?
有人请求帮助,我已经坚持了几天
尝试用另一个函数包装ajax成功函数并将其作为上下文传递给它this
,但它没有帮助。同样的事情
答案 0 :(得分:0)
您似乎缺少jquery-ui
的一些核心功能。您可以从the jQuery site下载自定义jquery-ui
库。
您基本上想要选择Effects core
以及您想在网站上使用的其他效果。由于某种原因,effects core
不是默认jQuery ui库的一部分。